我陷入了一个似乎无法打破的while 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()发布于 2014-02-10 04:59:03
最简单的解释是,您永远不会从stdout得到空行。请注意,print line.rstrip()不会修改line;例如,如果最后一行以换行符结束,则循环将继续。
发布于 2014-02-10 14:05:32
已排序。我知道在最后一行的末尾,它会返回两个字符串中的一个,所以只需要搜索这两个字符串中的一个:
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:
breakhttps://stackoverflow.com/questions/21664927
复制相似问题