python - Python禁用命令行模块的日志记录
问题描述
我正在尝试做的事情似乎很简单,但我找不到办法。我正在尝试在脚本中使用模块 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"])
解决方案
您将无权访问外部进程的记录器。subprocess 模块确实具有禁用输出的标志。
subprocess.call(
["pipreqs", "--force","/path/to/dir"],
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL
)
推荐阅读
- linux - 在本机库调用中找不到产生“CXXABI_1.3.9”的 AWS lambda
- html - Chrome 和 Safari HTML5 视频渲染。挂在第一帧。
- javascript - Javascript - 等待数组完成填充
- python - PyCharm 远程部署:未保存用户名
- ssl - 无法将 .CER 文件转换为 .PEM
- python - 从文本文件中读取整数,如果整数不在特定范围内,则激活 GPIO 引脚
- c++ - 如何在 C++ 上打印附加详细信息?
- c# - JSON文件中的Unity阿拉伯文本
- java - MVC SPRING HTTP 状态 500 - servlet mvc-dispatcher 的 Servlet.init() 抛出异常
- python - python2.x / 3.x中函数调用过长如何缩进