我正在编写一个程序,该程序打开并将通过串行端口发送的数据记录到文本文件中。我目前正在添加功能以允许在运行时重新配置串行端口。我提示用户一次选择要更改的变量,以便我自己保持简单(我也会欣赏优雅的解决方案)。
创建串行实例 (serial.Serial()) 的 pyserial 函数具有以下参数:
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() 参数,但有些不是,即“超时”。
我知道 usingint(raw_input("for the int() type variables))
可以让我安全地分配 int 变量,但是默认为 None 的变量需要一个input()
函数来正确分配可能的 None 值。
我在其他地方读到 input() 通常不被推荐,因为它有可能被利用(关于 eval() 的东西?)。那么我应该如何处理这些输入?即使用 serial.Serial() where writeTimout = str(None) 会引发错误。
谢谢!