[英]Python TypeError while trying to work with Arduino
我正在尝试通过串行链接 (com3) 从 uno 获取数据,并从运行 anaconda、spyder(3.3.3) 和 pyserial 3.7 的 iti 创建子字符串
import serial
ser = serial.Serial("COM3",9600)
i = 1
while i < 6:
line=ser.readline()
print (line)
x=x+1
print(i)
index1=line.index(",")
index2=line.index(".")
print(line[0:index1])
print(line[index1+1,index2])
ser.close()
错误:
第 21 行,在 index1=line.index(",") 中
类型错误:参数应该是整数或类似字节的对象,而不是“str”
您有一个例外,因为您尝试查找 unicode 字符“.”的索引。 以字节为单位。
bytes
是...只是字节(00-ff 范围)。 前任。 Python3 中的 b"abc"。
str
是 unicode 字符串(a..z、ż、α 等)。 前任。 Python3 中的“abc”。
您可以使用(如果您需要文本):
line=ser.readline().decode() # bytes -> unicode str
index2=line.index(".")
或者您可以处理字节(在“.”之前查看b ):
line=ser.readline()
index2=line.index(b".")
PS 您可以看到您输入的内容: print(repr(line))
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.