Python使用空字符串开始串行读取

问题描述 投票:0回答:1

我在从Arduino到Python读取串行数据时遇到问题。我正在从带有一个Serial.println函数的传感器以及从Arduino端发送一些逗号分隔的数据,一切似乎都很好。另一方面,在Python中,我应该将数据格式化为float和int,但是第一行始终为空,将其转换为float时会出错。

b = ser.readline()
string_n = b.decode()
string = string_n.rstrip()
sensor = string.split(',')
senzor1 = list(filter(None, sensor))
print(sensor1)

我尝试使用此选项来过滤空字符串,但得到的结果是:

[]
['-9.84', ' 27']
['-5.14', ' 29']
['-13.83', ' 25']
['0.82', ' 31']

否则,第一行是[''],它从传感器读数开始。

因此,我的Arduino端只有一个Serial.println。是否知道如何删除此空白列表或如何对其进行改进?

python arduino pyserial
1个回答
0
投票

怎么样:

b = ser.readline()
string_n = b.decode().strip()
sensor1 = [x.strip() for x in string_n.plit(',') if x]
print(sensor1)
© www.soinside.com 2019 - 2024. All rights reserved.