我是一个有泡菜的新手,我有一堆(大约100,000张)需要腌制的图片。
它们首先作为图像对象加载,并按如下方式转换为数据:
image = {
'pixels': im.tostring(),
'size': im.size,
'mode': im.mode,
}
现在我如何将它们腌制成一个pkl文件?
答案 0 :(得分:5)
你可以这样做:
file = open('data.pkl', 'wb')
# Pickle dictionary using protocol 0.
pickle.dump(image, file)
file.close()
要阅读字典,您可以这样做:
file = open('data.pkl', 'rb')
image = pickle.load(pkl_file)
print image
file.close()
也可以将数据转储两次:
import pickle
# Write to file.
file = open("data.pkl", "wb")
pickle.dump(image1, file)
pickle.dump(image2, file)
file.close()
# Read from file.
file = open("data.pkl", "rb")
image1 = pickle.load(file)
image2 = pickle.load(file)
file.close()
答案 1 :(得分:2)
只需拨打pickle.dump
,就像对待其他任何事情一样。你有一个dict,其值都是简单类型(字符串,几个数字的元组等)。它来自图像的事实是无关紧要的。
如果你有很多,可能是他们存储在一个列表或其他结构中,你可以挑选一个可挑选的对象列表。
所以:
with open('data.pkl', 'wb') as f:
pickle.dump(images, f)