【发布时间】:2021-05-17 13:42:05
【问题描述】:
我正在通过串行方式从设备读取值,返回值的格式为:
[理论位置mm,编码器位置mm],例如b'\r#-0.001504,-0.001516\n'
我想格式化这个返回值并将第二个值保存到一个数组中。有谁知道我该怎么做?任何建议都非常感谢。
谢谢。
新编辑:这是我的代码和输出。此时我只需要从这个字符串中提取浮点值。
ser.write(b'1POS?\r') #command to query position
pos = ser.readline() #read the position
pos_str = str(pos)
pos_splt = pos_str.split(",")
enc_pos = pos_splt[1]
print(enc_pos)
输出:“-0.028970\n'”
【问题讨论】:
-
是的,我有个主意。但首先,您尝试过什么?
-
你可以使用
.split("separator")来分割你的字符串 -
strip、split和float的组合似乎可以完成大部分工作。 -
你应该展示你尝试过的代码以获得一些帮助。
-
我注意到你注释掉了
print(pos)。如果从串口读取后恢复该行会怎样?