首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ser.read()读取字节

从ser.read()读取字节
EN

Stack Overflow用户
提问于 2014-04-02 07:52:46
回答 1查看 402关注 0票数 1

我有一个XBee路由器( XBee )连接到超声波测距传感器和另一个XBee协调器(XBee)连接到我的PC。XB将把传感器读数发送给XB。我正在尝试使用Python从我的PC上的ser.read()中提取字节。

输出中有一个奇怪的字符串字节,由">>~}3@zi167.89“组成,我可以知道如何只提取浮点数(本例中为167.89)吗?字节数是通过设置ser.read(size=xx)指定的。有什么别的办法吗?

代码语言:javascript
复制
import serial
import zigbee
from xbee import ZigBee
import re

ser = serial.Serial("COM4", 9600)

while True:
   try:
      input = ser.read(20)
      m = re.search(r'(\d+\.\d+)', input)
      if m:
          num = m.group()
   # statements...

它现在起作用了,漫不经心地把“组”打成“组”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-02 07:58:14

只需使用正则表达式:

代码语言:javascript
复制
import re
input = ser.read()
m = re.search(r'(?P<num>\d+\.\d+)', input)
if m:
    num = float(m.group('num'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22804859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档