【发布时间】:2012-11-14 05:17:37
【问题描述】:
我遇到了 PySerial 和 Python (3.3) 的问题:我正在运行的代码(目前,这只是一个简单的测试用例)如下:
ser = serial.Serial('/dev/ttyACM0', 115200)
result = ser.readline()
parsed = result.split(",")
这给出了以下错误:
TypeError: type str doesn't support the buffer API
我犯了什么愚蠢的错误?我想我已经将其追溯到 PySerial 的 readline 正在返回一个二进制字符串(python 3 中的新功能?)并且在针对二进制字符串运行时字符串操作“split”失败 - 如果运行它可以正常工作:
'1234, asdf, 456, jkl'.split(",")
这给出了预期:
['1234', 'asdf', '456', jkl']
但随后运行:
b'1234, asdf, 456, jkl'.split(",")
给出上述错误。是否有不同的 readline 方法可以使用?我应该使用 read 编写自己的代码(并且只读取直到它看到 /r/n)还是可以轻松转换为满足 str.isalnum() 的字符串?谢谢!
【问题讨论】:
标签: string serial-port pyserial python-3.3