gpt4 book ai didi

python - 如何使用子进程捕获输出并允许输出打印到屏幕?

转载 作者:行者123 更新时间:2023-12-04 10:39:45 34 4
gpt4 key购买 nike

在我的 Python 3 脚本中,我正在启动另一个程序,如果我不使用 PIPE 捕获输出,则该程序通常会打印出它在做什么,如下所示:
proc = subprocess.run("program")
但是当我使用以下命令捕获输出以保存到文本文件时:
proc = subprocess.run("program", stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
它不再在子进程运行时打印出来,但会捕获输出以保存到文本文件。有没有办法让程序打印到屏幕上并捕获该输出。我已经通读了子流程,但我想不出这样做的方法。

最佳答案

Is there a way to have the program print to the screen and capture that output.



捕获它并自己打印。

如果你想打印输出,使用 subprocess.Popen,然后 stdoutstderr将是流,您可以在循环中读取它们的内容并在它获得输出时打印它(尽管要注意进程的 stdout 很可能在 stderr 未缓冲时被完全缓冲)。

关于python - 如何使用子进程捕获输出并允许输出打印到屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59985818/

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