Python如何将列表字典写入文件并重新读取?
保存与读取含不同长度列表的字典的最优方法
针对你这种值为不同长度列表的字典,有两种常用且高效的保存/读取方案,根据使用场景选择即可:
方法一:JSON(通用、可读性强)
JSON是跨语言的标准格式,保存的文件为纯文本,可直接打开查看内容,适合需要和其他语言交互或需保留可读性的场景。
保存代码
import json my_dict = {'Naldo': ['03bd0bf4', 'a2609621'], 'Nino': ['03dc5b1f'], 'Matty Daly': ['03e48abb']} # 写入文件 with open('data.json', 'w', encoding='utf-8') as f: json.dump(my_dict, f, indent=4) # indent参数让输出格式更美观
读取代码
import json # 读取文件 with open('data.json', 'r', encoding='utf-8') as f: loaded_dict = json.load(f) print(loaded_dict) # 输出:{'Naldo': ['03bd0bf4', 'a2609621'], 'Nino': ['03dc5b1f'], 'Matty Daly': ['03e48abb']}
方法二:Pickle(Python专属、高效)
Pickle是Python专属的序列化工具,能保存几乎所有Python对象(包括自定义类实例),序列化/反序列化速度比JSON更快,文件为二进制格式,适合仅在Python环境内使用、追求效率或需保存复杂对象的场景。
保存代码
import pickle my_dict = {'Naldo': ['03bd0bf4', 'a2609621'], 'Nino': ['03dc5b1f'], 'Matty Daly': ['03e48abb']} # 写入二进制文件 with open('data.pkl', 'wb') as f: pickle.dump(my_dict, f)
读取代码
import pickle # 读取二进制文件 with open('data.pkl', 'rb') as f: loaded_dict = pickle.load(f) print(loaded_dict) # 输出:{'Naldo': ['03bd0bf4', 'a2609621'], 'Nino': ['03dc5b1f'], 'Matty Daly': ['03e48abb']}
方案选择建议
- 若需跨语言兼容、保留可读文本格式,选JSON;
- 若仅在Python环境使用、追求速度或需保存复杂Python对象,选Pickle。
内容的提问来源于stack exchange,提问作者user17647940
相关产品推荐
相关产品推荐

