Fabric 方法异常
我在尝试写一个Fabric函数,用来检查Apache是否安装:
from fabric.api import *
def check_apache():
try:
result = local('httpd -v', capture=True)
except:
print "check_apache exception"
但是如果httpd没有安装,我会得到:
$ fab check_apache
Fatal error: local() encountered an error (return code 127) while executing 'ahttpd -v'
Aborting.
check_apache exception
Done.
我该如何获取Fabric的local()
方法的正确异常呢?我需要捕获这个异常,并继续执行,而不显示任何Fabric的错误信息:
$ fab check_apache
check_apache exception
Done.
1 个回答
1
你可以把 env.warn_only
设置为 True
,或者使用设置上下文管理器。具体可以查看这个链接:http://docs.fabfile.org/0.9.3/api/core/context_managers.html?highlight=warn#fabric.context_managers.settings