Linux “如何关闭python的打印结果”;上海";图书馆

Linux “如何关闭python的打印结果”;上海";图书馆,linux,python-3.x,sh,supervisord,Linux,Python 3.x,Sh,Supervisord,我正在使用Python处理服务,当我尝试使用Pythonshlibrary获取服务的状态时,它将在如下变量中返回结果: import sh status = str(sh.service('nginx','status')) if 'active' in status: print('ready') 它工作正常,但当我尝试获取主管服务的状态时,它将在终端中打印所有结果并销毁我的命令输出 那么,如何关闭终端中打印的结果呢?您需要输入输出 发送到/dev/null: sh.service(

我正在使用Python处理服务,当我尝试使用Python
sh
library获取服务的状态时,它将在如下变量中返回结果:

import sh
status = str(sh.service('nginx','status'))
if 'active' in status:
    print('ready')
它工作正常,但当我尝试获取
主管
服务的状态时,它将在终端中打印所有结果并销毁我的命令输出

那么,如何关闭终端中打印的结果呢?

您需要输入输出

发送到/dev/null:

sh.service('nginx','status', _out='/dev/null')
或到
StringIO
对象,供您检查输出:

from io import StringIO

buffer = StringIO()
sh.service('nginx','status', _out=buffer)
output = buffer.getvalue()

使用
\u err
重定向stderr输出。

也可以通过以下方式处理(有助于避免在终端上打印):


正在打印的是
sh.service('nginx','status')
?@MMF about
nginx
工作正常。但是关于
supervisor
is没有。亲爱的,它仍然显示此错误
sh.ErrorReturnCode\u 3
RAN:/usr/sbin/service supervisor status
在哪里显示?您是否也尝试捕获
\u err
了?退出代码是您可以使用
try:>捕获的代码。。。除了sh.ErrorReturnCode:
try:
    ...
except shErrorReturnCode:
    ...