【发布时间】:2014-05-28 22:00:31
【问题描述】:
我正在使用 python 在 EC2 上进行计算,当我尝试转储包含字典的 pickle 文件时,程序只是存在,没有错误通知或任何东西。该文件很大,大约 1 gig,但在我的笔记本电脑上一切正常,只是在 EC2 上不行。我正在使用带有大量空间的附加 EBS 卷的 m3.large 实例。在下面的代码 sn-p 中,它打印出“现在转储”,然后......什么都没有,没有“转储完成”。 'except' 没有发现任何错误。当我尝试加载 pickle 文件时,出现 EOF 错误。
感谢您的建议!
try:
fp = open(pickleFile,"wb")
print 'dumping now'
pickle.dump(dataDict, fp)
print 'dumping complete'
fp.close()
except:
fp = open('/Users/thisUser/Data/report.txt','w')
fp.write('error writing pickle file')
fp.close()
【问题讨论】:
-
也许尝试转储(到字符串)。这可能会让您知道这是否是序列化问题。或者如果您担心需要额外的内存,您可以使用
dill,并检查是否dill.pickles(dataDict)。 -
最好让我们知道您正在使用的 python 的版本号,以及您正在使用的任何其他模块,以及 dataDict 中的内容。
标签: python amazon-ec2 pickle