gpt4 book ai didi

python - 如何使用 iter() 和 yield 遍历两个列表?

转载 作者:太空狗 更新时间:2023-10-30 02:53:41 27 4
gpt4 key购买 nike

一个简单的例子:

 popen = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, shell=True)
for stdout_line in iter(popen.stdout.readline, ""): # how to add popen.stderr.readline check?
yield stdout_line

我们从 popen.stdout 读取,但我们也想同时从 stderr 读取!我们不知道进程何时结束。

那么如何使用 iter() 和 yield 遍历两个列表呢?

最佳答案

这些不是列表,使用它们的正确方式不是您使用列表的方式。如果您想将进程的标准输出和标准错误填充到一个组合流中,请使用输出重定向来实现:

from subprocess import PIPE, STDOUT

process = subprocess.Popen(cmd, stdout=PIPE, stderr=STDOUT, ...)
# ^^^^^^

关于python - 如何使用 iter() 和 yield 遍历两个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48649658/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com