gpt4 book ai didi

python - 在 python 中运行一个子进程,并在 "real time"中显示输出并将其保存到变量中

转载 作者:太空宇宙 更新时间:2023-11-03 21:11:24 25 4
gpt4 key购买 nike

我希望能够从 python 代码运行子进程,并且都可以实时查看输出,并且一旦进程完成,就可以将输出存储在变量中

现在我做两件事之一

1)使用 subprocess.call 运行子流程,在这种情况下我会实时获得输出,但最后我没有变量中的输出(我想解析它并从中提取值)

2)使用 subprocess.check_output 运行子进程,在这种情况下,我将输出放在变量中,但如果我想查看它,那么我必须“手动”打印它

有没有办法将两者“结合在一起”?

希望很清楚,如果您需要,我可以添加我的代码

谢谢!!!

编辑:

这是我当前的代码

enter image description here

我添加了一个超时可选参数(默认值为 1200,并且还处理 shell(出于某种原因,如果我没有 shell=True,在 Linux 中工作的相同命令在 Windows 中不起作用)“mode”参数是我用来区分我想要“实时”输出并且不必解析它的情况和其他情况的情况

我想知道是否有更干净、更好的方法来达到相同的结果

最佳答案

假设您正在尝试运行某些命令 your_command 您可以使用以下命令:

some_proc = subprocess.Popen(['your_command'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

stdout=subprocess.PIPE 在成功时将结果输出为 stdout。之后,您可以按如下方式访问输出:

store_in_var = some_proc.stdout

现在您可以解析您的store_in_var

关于python - 在 python 中运行一个子进程,并在 "real time"中显示输出并将其保存到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55040507/

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