我正在尝试使用pyserial与主板进行交互,我正在发送一些命令并等待他们的回复使用这段代码等待=>提示
# Waits till it finds the => prompt
def s_uboot_prompt(ser):
value = ""
matcher = re.compile("\=\>")
trymatcher = re.compile("try")
while (not matcher.search(value)):
if( trymatcher.search(value.strip()) ):
print "******* Command failure. Exiting ..... **********"
ser.write("boot\r")
ser.close()
sys.exit(0)
value = ser.readline()
print value
time.sleep(2)
它适用于所有命令,但是对于其中一个输出非常大的tftp命令,它无法读取最后几行并且上面的代码永远循环。有什么理由发生这种情况吗?我无法想到任何合乎逻辑的理由。请注意,它无法读取最后几行。
thnks