在真正的循环python时陷入困境

在真正的循环python时陷入困境,python,while-loop,Python,While Loop,我陷入了一个暂时无法打破的真实循环,请给出任何建议: 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, sh

我陷入了一个暂时无法打破的真实循环,请给出任何建议:

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
中永远不会有空行。请注意,
打印line.rstrip()
不会修改
;例如,如果最后一行以换行符结尾,循环将继续。

最简单的解释是,您永远不会从stdout获得空行。请注意,
打印line.rstrip()
不会修改
;例如,如果最后一行以换行结束,循环将继续。

排序。我知道在最后一行的末尾,它将返回两个字符串中的一个,因此只需搜索这两个字符串中的任何一个:

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

分类。我知道在最后一行的末尾,它将返回两个字符串中的一个,因此只需搜索这两个字符串中的任何一个:

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

你从“代码”> STDUD/<代码>中得到空行吗?你从“代码> STDUT/<代码>中得到空行吗?谢谢NPE,关于在结尾时如何才能退出这个循环的任何建议?@ SyryRayor你可以考虑<代码>如果不是行。在结束时,我有什么建议可以跳出这个循环?@ SyryRayor可以考虑<代码>如果不是行。