2017-07-06 33 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

非常感謝,這是它的工作原理 –