【发布时间】:2019-03-07 09:39:49
【问题描述】:
我希望能够从 python 代码运行一个子进程,并且两者都可以实时查看输出,并且一旦该进程完成,就会将输出保存在一个变量中
现在我做两件事之一
1) 在这种情况下,使用 subprocess.call 运行子进程,我会实时获得输出,但最后我没有变量中的输出(我想解析它并从中提取值)
2) 使用 subprocess.check_output 运行子进程,在这种情况下,我将输出保存在变量中,但如果我想查看它,则必须“手动”打印它
有没有办法让这两件事“在一起”?
希望清楚,如果需要,我可以添加我的代码
谢谢!!!
编辑:
这是我当前的代码
我添加了一个超时可选参数(默认值为 1200 并且还处理 shell(由于某种原因,如果我没有 shell=True,在 Linux 中工作的相同命令在 Windows 中不起作用)“模式”参数是我用来区分我想要“实时”输出的情况,我不必解析它和其他情况
我想知道是否有更清洁和更好的方法来实现相同的结果
【问题讨论】:
-
您是否有任何无法运行的代码或您尝试过什么?
-
我的代码正在运行,但我想知道是否有更好的方法来做到这一点,现在我正在做这样的事情
标签: python subprocess