从设备锁定中检索到的字节中提取 int
Extracting the int from a byte retrieved from a lock in device
我正在尝试从设备锁定中获取时间常数,我使用此代码:
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:
只给我一个空白space。我尝试将此代码单独 运行 作为
a = b'9\n'
print ("a is " + a.decode())
哪个打印
a is 9
我猜您的完整代码如下所示:
...
print (self.ser.readline())
a = self.ser.readline()
...
似乎ser
是一个文件对象,所以一旦你打印出那一行,指针前进到下一行,你就不能再读了。
尝试删除该打印语句。另外,如果你想删除尾随的换行符,你可以使用 a.decode().rstrip()
.
我正在尝试从设备锁定中获取时间常数,我使用此代码:
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:
只给我一个空白space。我尝试将此代码单独 运行 作为
a = b'9\n'
print ("a is " + a.decode())
哪个打印
a is 9
我猜您的完整代码如下所示:
...
print (self.ser.readline())
a = self.ser.readline()
...
似乎ser
是一个文件对象,所以一旦你打印出那一行,指针前进到下一行,你就不能再读了。
尝试删除该打印语句。另外,如果你想删除尾随的换行符,你可以使用 a.decode().rstrip()
.