我使用pyserial讀取數據從一個串行端口,有時我得到的數據意外表現Python的陣列行爲古怪
這裏是重要的代碼
def getResponse():
while ('\r' != rbuf[-1]):
rbuf += s.read(s.inWaiting())
print("b " + binascii.hexlify(rbuf))
rbuf = rbuf.split('\r')
rbuf = rbuf[:-1]
print rbuf
for char in rbuf:
if(char == AFTER):
print('a')
elif(char == 'W'):
print("Writing to the file")
elif(char != ''):
print char
return char
getResponse()
我明白,這是不編寫代碼的最佳方式,但是會發生非常類似的情況。
當我收到序列[「一個」,「A」]的值返回最終被NONE。(我與在代碼
別處打印語句檢查時,收到這不會發生[ 'W', 'A', 'A'],或當我recive [ 'A']
我身邊figuired了工作,但我真的很好奇這個!!
感謝
奔
由於壓痕,只出現'的情況下'elif的return'(字符= ''!):' – jonrsharpe 2014-11-05 16:17:27
我只有在這種情況下返回。 (因此,如果它不工作,遞歸調用) – Treesrule14 2014-11-05 16:18:16
因此,如果該'elif'永遠不會執行,那麼你到達函數的末尾而不返回任何東西,所以'None'被隱式返回。這對我來說並不奇怪。 – Kevin 2014-11-05 16:18:53