带有大括号的Python KeyError

时间:2015-11-24 18:52:53

标签: python

我希望Python运行curl的系统命令,我传入一些参数。我还想使用-w "%{http_code}"返回结果的HTTP状态代码(例如200302等)

我目前拥有的命令是

print os.popen('curl "{0}" -L -o /dev/null -s -w "%{http_code}"'.format("http://google.com")).read()

但是这会返回KeyError: 'http_code'并且我推测它,因为http_code被花括号包裹。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:6)

传递给.format时,只需加倍花括号:

'curl "{0}" -L -o /dev/null -s -w "%{{http_code}}"'.format("http://google.com")

这会逃脱它们并在结果字符串中产生%{http_code}