【发布时间】:2020-10-18 05:56:32
【问题描述】:
我想做的事情看起来很简单,但我找不到办法。我正在尝试在脚本中使用模块 Pipreqs,但我必须使用 subprocess.call(),因为 Pipreqs 无法在脚本中使用它。 Pipreqs 使用日志记录来记录信息,我不希望这样。 Pipreqs 也没有安静模式。我尝试使用logger.setLevel(logging.WARNING),但由于我通过subprocess.call() 调用它,它仍然会打印信息。我也尝试过导入 Pipreqs 并将日志记录级别设置为警告,但这也不起作用。有没有办法禁用这个输出?我现在的代码如下:
import subprocess
import logging
import pipreqs
logger = logging.getLogger("pipreqs")
logger.setLevel(logging.WARNING)
subprocess.call(["pipreqs", "--force","/path/to/dir"])
【问题讨论】:
-
你不能只是重定向标准输出并忽略它吗?
-
它仍然打印信息
-
我没有尝试过重定向到 PIPE,但是我尝试过重定向到 /dev/null 并且没有成功。我可以尝试将其重定向到 PIPE,但我不想缓冲以填满,我什至不确定这是否可行
标签: python logging subprocess