Nic*_*k01 0 python string-formatting
尝试执行我的脚本时出现以下错误
]""".format(id="123", name="test")
KeyError: '\n "id"'
Run Code Online (Sandbox Code Playgroud)
这是我的脚本。我只需要格式化一个多行字符串。我尝试在格式部分使用字典,但这也不起作用。
import requests
payload = """[
{
"id":{id},
"name": "{name}"
}
]""".format(id="123", name="test")
headers = {"Content-Type": "application/json"}
r = requests.post("http://localhost:8080/employee", data=payload,
headers=headers)
print(r.status_code, r.reason)
Run Code Online (Sandbox Code Playgroud)
使用时format,文字{'s 和}'s 需要通过将它们加倍来转义
payload = """[
{{
"id":{id},
"name": "{name}"
}}
]
""".format(id="123", name="test")
Run Code Online (Sandbox Code Playgroud)
你有左括号和右括号。Format 将它们解释为占位符,而你则是字典。它的内容是,正如错误所说,\n "id":{id}…等等。如果您不打算{作为占位符,请将它们加倍。
您正在尝试自己编写json。不要那样。使用json模块:
json.dumps({"id": "123", name: "test"})
Run Code Online (Sandbox Code Playgroud)
或者甚至更好:让请求做到这一点。
| 归档时间: |
|
| 查看次数: |
3886 次 |
| 最近记录: |