如何从Fabric的本地命令捕获stderr?

时间:2012-08-28 06:07:20

标签: python-2.7 fabric

Fabric v1.4.3不捕获'python --version'的输出

def python_v():
    m = local('python --version', capture=True)
    print(m)

2 个答案:

答案 0 :(得分:32)

带有local

capture=True会返回命令stdout;一个简单的测试表明python --version打印stderr上的版本信息。因此,您可以尝试在命令中将stderr重定向到stdout

m = local('python --version 2>&1', capture=True)

答案 1 :(得分:10)

我发现以下方式比接受的答案更清晰:

print m.stderr

(谢谢remosu!)