我读了一个JSON文件并创建了一个字典,并试图用key=value
格式创建一个属性文件,只有几个属性(found
和location
)。从字典下面,我需要创建一个包含内容的文件
found=bike.tar.gz
location=china
下面的字典内容,它将采用相同的格式,并且始终只有一个“找到”项目。
>>> pprint(zdict)
{
'found': {
'bike.tar.gz': {
'imported': False,
'used': True,
'location': 'china'
}
}
}
我试过了:
>>> dict(list(zdict.values())[0]).keys()
dict_keys(['bike.tar.gz'])
无法超越这一点。
复杂的部分是获取键值,因为它是一个特例:有一个键作为字典的值。所以转换为list并取第一个元素。
然后使用此键找到位置。
zdict = {
'found': {
'bike.tar.gz': {
'imported': False,
'used': True,
'location': 'china'
}
}
}
bike = list(zdict["found"])[0]
print("found={}".format(bike))
print("location={}".format(zdict["found"][bike]["location"]))
打印:
found=bike.tar.gz
location=china
但是这种格式可能设计为在“找到”键下有几个dicts,所以使用循环将它们全部打印出来(也适用于你的例子,如果列表为空则避免崩溃):
for bike,items in zdict["found"].items():
print("found={}".format(bike))
print("location={}".format(items["location"]))