我正在尝试做的事情看起来很简单,但是我找不到解决方法。我正在尝试在脚本中使用模块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"])
答案 0 :(得分:1)
您将无权访问记录器以进行外部处理。子流程模块确实具有用于禁用输出的标志。
subprocess.call(
["pipreqs", "--force","/path/to/dir"],
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL
)