我有一个字符串,我想使用python的.format函数在运行时添加一些变量,这是我的字符串:
'{"auth": {"tenantName": "{Insert String Here}", "passwordCredentials": {"username": "{insert String here}", "password": "{insert String Here}"}}}'
Run Code Online (Sandbox Code Playgroud)
当我像这样使用.format:
credentials='{"auth": {"tenantName": "{tenant}", "passwordCredentials": {"username": "{admin}", "password": "{password}"}}}'.format(tenant='me',admin='test',password='123')
Run Code Online (Sandbox Code Playgroud)
它给了我以下错误:
KeyError: '"auth"'
Run Code Online (Sandbox Code Playgroud)
任何帮助?提前致谢.
des*_*gin 19
{并且}是字符串格式的特殊字符,因为您清楚地知道,因为您正在使用它们{tenant},{admin}和{password}.所有其他的{s和}s需要通过加倍来逃避.尝试:
credentials='{{"auth": {{"tenantName": "{tenant}", "passwordCredentials": {{"username": "{admin}", "password": "{password}"}}}}}}'.format(tenant='me',admin='test',password='123')
Run Code Online (Sandbox Code Playgroud)
您使用错误的工具进行交易.您正在处理json,您需要使用json库来解析数据,然后以字典的形式访问您的字段
>>> import json
>>> data_dict = json.loads(data)
>>> data_dict["auth"]["tenantName"]
u'{Insert String Here}'
Run Code Online (Sandbox Code Playgroud)