我正在編寫一個程序,用於打開並記錄通過串口發送到文本文件的數據。我目前添加了允許在運行時重新配置串口的功能。我提示用戶選擇一個變量,以便讓自己變得簡單(我會欣賞優雅的解決方案)。pyserial-在運行時發送參數 - 輸入與raw_input - 安全缺陷?
創建串行實例的pyserial功能(serial.Serial())具有以下參數:
import serial
ser = serial.Serial(port=0, baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=0, rtscts=0, writeTimeout=None, dsrdtr=None, interCharTimeout=None) #default values shown
我注意到,雖然大部分是int()函數的參數,有些則不是,即「超時」 。
我知道使用int(raw_input("for the int() type variables))
會讓我安全地分配int變量,但將None作爲默認值的變量需要使用input()
函數來正確分配可能的None值。
我已經在其他地方看過,input()通常不被推薦,因爲它有可能被利用(關於eval()?)。那麼我應該如何處理這些投入?即使用serial.Serial(),其中writeTimout = str(None)引發錯誤。
謝謝!
我明白了,我現在就試試。 在查找表的兩列(即字典?)中有一個文本文件是更好的辦法,還是應該在程序運行時將其初始化?感謝您的時間 – PPTim 2010-02-09 18:42:14
@PPTim:如果您正在討論程序讀取的配置文件,請使用Python的一些現有選項,如ConfigParser – 2010-02-10 03:44:15