gpt4 book ai didi

python - .format() python 2.6 中的 KeyError

转载 作者:太空狗 更新时间:2023-10-30 02:53:18 25 4
gpt4 key购买 nike

我尝试使用变量 type string format {0}{1} >source 但我得到 KeyError:

import json
data = {
"u_in_record_type": '{0}',
"u_company_source": '{1}'
}
data = json.dumps(data)
type="Test"
source="Test"
print(data.format(type, source))
Traceback (most recent call last):
File "untitled.py", line 10, in <module>
print(data.format(type, source))
KeyError: '"u_in_record_type"'

最佳答案

尝试在 json 转储中应用 str.format 是一个注定要失败的想法,原因有几个,主要原因是字符串转储的封闭 {} 冲突/丢失格式。

我建议预先使用命名字段预处理您的字典:

import json

data = {
"u_in_record_type": '{type}',
"u_company_source": '{source}'
}

type="Test"
source="Source"

new_data = {k:v.format(type=type,source=source) for k,v in data.items()}

Python 2.7 之前的语法(字典理解尚不可用):

new_data = dict((k,v.format(type=type,source=source)) for k,v in data.items())

字典理解将参数应用于所有记录,这些记录会选择他们需要的记录。然后你可以转储那个版本的字典。

一个基于字典的变体(当有很多变量时它会很方便)是:

fd = dict(type="Test",source="Source")
new_data = {k:v.format(**fd) for k,v in data.items()}

关于python - .format() python 2.6 中的 KeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50096660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com