簡體   English   中英

陷入True循環python

[英]Stuck in while True loop python

我陷入了一段時間的True循環,似乎無法中斷,請提出任何建議:

command1 = transporterLink + " -m verify -f " + indir1 + " -u " + username + " -p " + password + " -o " + indir1 + "/VerifyLog.txt -s " + provider1 + " -v eXtreme"
master, slave = pty.openpty()

process = Popen(command1, shell=True, stdin=PIPE, stdout=slave, stderr=slave, close_fds=True)
stdout = os.fdopen(master)
while True:
    wx.Yield()
    line = stdout.readline()
    print line.rstrip()
    if not line:
        break
process.wait()

最簡單的解釋是,您永遠不會從stdout得到空白行。 注意print line.rstrip()不會修改line ; 例如,如果最后一行以換行符結束,則循環將繼續。

排序。 我知道在最后一行的末尾它將返回兩個字符串之一,因此只需要搜索這兩個字符串之一即可:

process = Popen(command1, shell=True, stdin=PIPE, stdout=slave, stderr=slave, close_fds=True)
stdout = os.fdopen(master)
while True:
    wx.Yield()
    line = stdout.readline()
    line = line.rstrip()
    print line
    if "Returning 1" in line:
        break
    if "Returning 0" in line:
        break

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM