2017-07-06 48 views
0

我试图让时间从设备锁固定自锁检索一个字节的INT,我用这个代码:提取从设备

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 
+0

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

回答

1

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

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

这似乎是ser是一个文件对象,所以一旦你打印出该行,指针前进到下一行,并且你不能再读取它。

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

+0

非常感谢,这是它的工作原理 –