我写了一个代码,它倾倒从串口收集的数字,如下所示:
readoff = ser.readline()
并且正确的读取格式如下:
a=' 213 -456 725'
然后进行转储并进行一些计算,我将它分成3部分并将它们转换为整数,如下所示:
splitted=readoff.split() if len(splitted) == 3 : temparrayforx.append(int(splitted[0])) temparrayfory.append(int(splitted[1])) temparrayforz.append(int(splitted[2]))
但有时从串口读取的内容如下:'2-264',它不能变成整数.或者有时读数不能被三个整除.
这是我的示例错误:
temparrayforx.append(int(splitted[0])) ValueError: invalid literal for int() with base 10: '2-264'
我的目标是如果读数不正确(如果它不是3部分)(如果它不是一个正确的数字),跳过该读数并继续(读取另一个数据).我怎样才能做到这一点 ?
感谢帮助