是否可以抑制sh模块的输出?

时间:2019-05-06 22:28:37

标签: python

使用python sh模块时,该模块本身会有输出,例如它正在运行的命令状态等。是否可以抑制这种情况?我不是指正在执行的命令的输出,而是模块在执行时显示的内容。

例如,如果脚本包含:

import pip
pip.main(['install', "sh"])

import sh

cmdArgs = ["-lrt","/tmp"]
sh.ls(cmdArgs)

运行脚本时,将输出以下内容:

<Command '/bin/ls -lrt /tmp'>: starting process
<Command '/bin/ls -lrt /tmp', pid 22235>: process started
<Command '/bin/ls -lrt /tmp', pid 22235>: process completed

我希望没有输出。我在http://amoffat.github.io/sh/

中找不到任何内容

1 个答案:

答案 0 :(得分:3)

https://github.com/amoffat/sh/blob/master/sh.py#L754中可以看到(通过在源中搜索<Command,然后查看对生成该字符串的函数的引用来找到),这些是{级别为logging的{​​1}}条消息,因此,如果您使用的是INFO,则会显示这些消息。

因此,可以使用How do I disable log messages from the Requests library?中的标准logging机制将它们静音:

logging