0
我是一個python nub,所以忍受着我。我有一組自定義類,每個類都基本上包裝併爲圖像文件添加了一些功能,該圖像文件已被轉換爲numpy.ndarray
。由於每次運行腳本需要大約2分鐘的時間才能創建所有這些對象,因此我希望能夠創建它們的列表並醃製該列表。酸洗似乎進行得很順利;取出失敗。Python2.7:試圖泡菜一套自定義對象
這是我做的:
酸洗
frame_jar_file = open(os.path.join(asset_path, "frame_jar.pkl"), "w+")
for x in range(1, 500):
path = os.path.join(img_path, "{0}.jpg".format(str(x).zfill(8)))
surface = NumpySurface(path)
self.scene_surfaces.append(surface)
frame_jar = cPickle.Pickler(frame_jar_file, -1) # have tried this with no protocol arg as well
frame_jar.dump(self.scene_surfaces)
frame_jar_file.close()
exit()
主要生產大小約爲2GB的文件,這似乎對我的權利給出的數據。
取儲存
self.scene_surfaces = cPickle.Unpickler(os.path.join(asset_path, "frame_jar.pkl"))
激起這個錯誤:
TypeError: argument must have 'read' and 'readline' attributes
/facepalm對。所以我不能解開一個字符串,基本上,就是你說的。所有的嘆息。謝謝。 :) – Jonline 2014-11-06 15:40:53
@Jonline:unpickler無法從字符串讀取pickle數據。 :-) – 2014-11-06 15:41:13