我收到错误“ key 错误:'name'”
谁能告诉我以下代码的问题是什么:
import random
def mongoCountry(countryNum, provinceNum):
"""generate some test data"""
f = open("F:\\univData\\country-mongo.json", mode = 'w')
text = ""
for c_n in range(0, countryNum):
for p_n in range(0, provinceNum):
text += "{name:country{0},provinces:[{$ref : Province,$id : province{1}}]}\n".format(c_n, p_n)
f.write(text)
f.close()
mongoCountry(2, 10)
我用谷歌搜索了它,所以我知道它是关于 dict() 对象的。但我在那里找不到任何这样的对象。
最佳答案
如果我正确理解您的程序,您正在尝试创建一个 JSON 对象。正如 iCodez 在他的回答中所说,Python 的 format
函数将整个字符串视为格式字符串(或模板字符串,如果您愿意)。要覆盖它,您可以像这样转义格式字符串
"{{name:country{0},provinces:[{{$ref : Province,$id : province{1}}}]}}\n".format(c_n, p_n)
如果 c_n
和 p_n
分别是 "Welcome"
和 "123"
,您将得到类似以下内容
{name:countryWelcome,provinces:[{$ref : Province,$id : province123}]}
关于python - 定义字符串时出现关键错误,python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24566379/