0

我正在尝试使用 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 命令之一,它无法读取最后几行并且上述代码永远循环。发生这种情况有什么原因吗?我想不出任何合乎逻辑的理由。请注意,它无法读取最后几行。

谢谢

4

0 回答 0