Python 如何更改pySerial中的行终止符(行尾字符,EOL)

Python 如何更改pySerial中的行终止符(行尾字符,EOL),python,pyserial,Python,Pyserial,在PySerial的当前版本(>3.4)中,如何更改行尾(EOL,有时称为终止符)字符?是的,但我从未使用过io模块,简短介绍中给出的示例与我的用例相去甚远。有没有更简单的方法?类似Matlab的东西 s = serial('COM3'); s.Terminator = 'CR'; s.open() 我只希望能够在使用CR指示换行的设备上执行readline()。根据链接调整示例,添加newline参数,如文档中所述: >>> help(io.TextIOWrapper) H

在PySerial的当前版本(>3.4)中,如何更改行尾(EOL,有时称为终止符)字符?是的,但我从未使用过
io
模块,简短介绍中给出的示例与我的用例相去甚远。有没有更简单的方法?类似Matlab的东西

s = serial('COM3');
s.Terminator = 'CR';
s.open()

我只希望能够在使用
CR
指示换行的设备上执行
readline()

根据链接调整示例,添加
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
字符时会停止。

我读了一些书,现在问这个问题觉得有点傻。我被
serial\u for_url('loop://',…)
绊倒了,在我看来,这就像是一些我不需要的web内容。我没有意识到“loop://”只是用于测试,在我的例子中,我可以简单地将其替换为“COM3”。虽然在标题中指定了一个古老的2.6版本,但在这里却非常相关。是的,它现在看起来像是一个副本,只是经过筛选以保持最新的内容。我会这样做的。