如何使用pickle保存dict?

2024-04-25 20:57:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经看过了Python docs给出的信息,但我还是有点困惑。有人可以发布一些示例代码来编写一个新文件,然后使用pickle将字典转储到其中吗?


Tags: 文件代码信息示例docs字典pickle
3条回答
# Save a dictionary into a pickle file.
import pickle

favorite_color = {"lion": "yellow", "kitty": "red"}  # create a dictionary
pickle.dump(favorite_color, open("save.p", "wb"))  # save it into a file named save.p

# -------------------------------------------------------------
# Load the dictionary back from the pickle file.
import pickle

favorite_color = pickle.load(open("save.p", "rb"))
# favorite_color is now {"lion": "yellow", "kitty": "red"}

试试这个:

import pickle

a = {'hello': 'world'}

with open('filename.pickle', 'wb') as handle:
    pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCOL)

with open('filename.pickle', 'rb') as handle:
    b = pickle.load(handle)

print a == b
import pickle

your_data = {'foo': 'bar'}

# Store data (serialize)
with open('filename.pickle', 'wb') as handle:
    pickle.dump(your_data, handle, protocol=pickle.HIGHEST_PROTOCOL)

# Load data (deserialize)
with open('filename.pickle', 'rb') as handle:
    unserialized_data = pickle.load(handle)

print(your_data == unserialized_data)

HIGHEST_PROTOCOL的优点是文件变小。这有时会使脱粘更快。

重要提示:pickle的最大文件大小约为2GB。

替代方式

import mpu
your_data = {'foo': 'bar'}
mpu.io.write('filename.pickle', data)
unserialized_data = mpu.io.read('filename.pickle')

替代格式

对于您的应用程序,以下内容可能很重要:

  • 其他编程语言支持
  • 读写表现
  • 紧凑性(文件大小)

另请参见:Comparison of data serialization formats

如果您正在寻找创建配置文件的方法,那么您可能需要阅读我的短文Configuration files in Python

相关问题 更多 >