如何在PySerial的当前版本(> 3.4)中更改行尾(EOL,有时称为TERMINATOR)字符? short intro advises to use io.TextWrapper,但我从未使用io
模块,简短介绍中给出的示例与我的用例相差甚远。有更简单的方法吗?像Matlab的那样
s = serial('COM3');
s.Terminator = 'CR';
s.open()
我只是希望能够在使用readline()
来表示换行符的设备上执行CR
。
答案 0 :(得分:1)
根据您的链接调整示例,添加newline
参数,如文档中所述:
>>> help(io.TextIOWrapper)
Help on class TextIOWrapper in module io:
class TextIOWrapper(_TextIOBase)
...
|
| newline controls how line endings are handled. It can be None, '',
| '\n', '\r', and '\r\n'.
修改样本:
import serial
import io
ser = serial.serial_for_url('loop://', timeout=1)
sio = io.TextIOWrapper(io.BufferedRWPair(ser, ser),newline="\r")
现在readline
在遇到\r
字符时停止。