【发布时间】:2020-02-06 16:46:47
【问题描述】:
我写了一个函数,它运行外部命令并捕获它们的输出,就像这样
proc = subprocess.run(command_line, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if proc.returncode != 0:
不幸的是,我在运行时看不到长命令输出。如何有条件地执行此操作,例如,如果 loglevel 为 debug 或更高?
【问题讨论】:
-
我不确定你在问什么。你想要一个在终端上打印输出的“调试模式”吗?
-
是的,像这样。我想控制打印输出与否,但始终捕获它
-
您是否考虑过使用
check_output()而不是run()? -
如何使用
check_output()打开和关闭打印? -
输出 = check_output(...)。您可以根据需要打印或不打印
标签: python python-3.x subprocess stdout