Python 评估本地结构卷曲命令

Python evaluating a local fabric curl command

这似乎应该有效,但实际上并非如此。我尝试过各种方法,例如使用范围、查看表达式的计算结果是否为 True 等。我使用 local 到 运行 在本地使用 fabric 命令。

这是现在的样子:

def test_health_check():
    test = local('curl -I -sL -w "%{http_code} %{url_effective}\n" --user username:username --location-mylocation "http://my.test.server:8180/something/something/something" -o /dev/null | cut -d " " -f 1')
    if test == 200:
        print "success"
    else:
        print "failure"

如果我将 if 测试部分设置为 if test >= 200:,那么它的计算结果为 True,但对其他任何内容的计算结果为 false。如果范围是 200 到 302,我希望能够 return True。另外,有更好的方法吗?

我哥的回答:

假设你的 curl 命令设置为 return 状态码,我想你会想要你的第二个参数 local 调用为真,所以 local(‘curl stuff’, True) 正如文档所说,本地无法同时打印 捕获输出。第二个 arg 的默认值为 False,即捕获。你想要捕获。