正如其他答案所指出的那样,您的缩进在您的with
陈述中完全是错误的。
泡菜
虽然,如果您的目标是保存字典以供以后使用,那么您最好的选择可能是使用pickle
. 如果您的意图是将字典保存为人类可读的格式,这将无法解决问题,但作为数据存储方法会更有效。
import pickle
my_dict = {
'foo': 'bar',
'baz': 'spam'
}
# This saves your dict
with open('my_dict.p', 'bw') as f:
pickle.dump(my_dict, f)
# This loads your dict
with open('my_dict.p', 'br') as f:
my_loaded_dict = pickle.load(f)
print(my_loaded_dict) # {'foo': 'bar', 'baz': 'spam'}
杰森
存储效率和可读性之间的折衷可能是json
改用。对于不可序列化 JSON 的复杂 Python 对象,它将失败,但它仍然是一种完全有效的存储方法。
import json
my_dict = {
'foo': 'bar',
'baz': 'spam'
}
# This saves your dict
with open('my_dict.json', 'w') as f:
# passing an indent parameter makes the json pretty-printed
json.dump(my_dict, f, indent=2)
# This loads your dict
with open('my_dict.json', 'r') as f:
my_loaded_dict = json.load(f)
print(my_loaded_dict) # {'foo': 'bar', 'baz': 'spam'}