【问题标题】:Extracting the int from a byte retrieved from a lock in device从锁定设备中检索的字节中提取 int
【发布时间】:2017-12-10 10:33:48
【问题描述】:

我正在尝试从锁定设备中获取时间常数,我使用以下代码:

self.ser.write("OFLT?\r\n".encode())
self.ser.write("++read\r\n".encode())
print (self.ser.readline())

打印b'9\n'。我只想要这个 9,但我似乎无法将其取出。我试过了:

a = self.ser.readline()
print (type(a))
print ("a is: " + a.decode())

导致

<class 'bytes'>
a is: 

只给我一个空格。我尝试将此代码单独运行为

a = b'9\n'
print ("a is " + a.decode())

打印什么

a is 9

【问题讨论】:

  • 你的阅读功能是什么样的?另外,我不太明白您要做什么,但那可能是我。

标签: python python-3.x int byte device


【解决方案1】:

我猜你的完整代码如下所示:

...
print (self.ser.readline())
a = self.ser.readline()
...

似乎ser 是一个文件对象,所以一旦打印出该行,指针就会前进到下一行,并且您无法再次读取它。

尝试删除该打印语句。另外,如果你想删除尾随的换行符,你可以使用a.decode().rstrip()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多