我想把我的字典保存到一个文件中,以便以后可以很容易地导入它,保持它的字典含义。如果我做以下操作:
def save_dict_to_file(dic):
f = open('dict.txt','w')
f.write(str(dic))
f.close()
然后,如果我想从文件中加载字典,通过这样做:
d={}
fi=open("dict.txt","r")
lineinfile=fi.readlines()
d=lineinfile
print(type(d))
我得到的结果是一个列表,而不是字典。不使用任何模块,如何解决这个问题?是我在导出字典或导入时出错吗?您可以使用标准库中的json
import json
data = {'a': 1, 'b': 2}
# Save data
with open('output_name.json', 'w') as f:
json.dump(data, f)
# Read data
with open('output_name.json', 'r') as f:
data = json.load(f)
如果你想自己做这个(没有json模块),它不是那么简单。你可以看看json的源代码是如何完成的https://github.com/python/cpython/tree/3.9/Lib/json
您正在使用readlines()函数,该函数返回包含文件中每行作为列表项的列表