重定向stdout不适用于所有输出

时间:2017-12-16 11:00:31

标签: python windows python-3.x stdout python-multiprocessing

我试图阻止脚本将文本输出到命令行。它使用硒与氯化铬和铬一起使用。我正在使用可能与问题相关的多处理。

我尝试从Windows命令行启动:

python foo.py 1>nul

这会将stdout重定向为空,并且可以在我自己的打印语句中运行,但我仍然可以从chromedriver(或chrome)获得输出。我已经尝试从0-9重定向所有数字句柄,但这没有帮助。

如何使我导入的模块静音? 我希望能够在保持自己打印到屏幕的能力的同时消除混乱,但现在我可以采取任何措施。

输出示例:

DevTools listening on ws://127.0.0.1:12818/devtools/browser/089e9b8d-66ce-431c-8486-abf1db2e1bc1
[10752:15088:1216/122840.419:ERROR:shader_disk_cache.cc(238)] Failed to create shader cache entry: -2
[27752:21264:1216/123032.960:ERROR:process_metrics.cc(105)] NOT IMPLEMENTED

我也尝试过contextlib.redirect_stdout,但这不适用于子进程,并且我通过多处理模块生成多个。

1 个答案:

答案 0 :(得分:0)

我认为您需要在 Python 脚本中配置日志记录。

有关如何为 selenium 设置日志记录的信息,请参阅 https://stackoverflow.com/a/21688906/292787

有关如何将日志重定向到标准输出的信息,请参阅 https://stackoverflow.com/a/14058475/292787