You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 01:31:07