我有一个使用.txt格式的pickle文件。我想用Python2.7加载这个pickle文件。大小是438.5 MB。这就是我加载数据的方式:
def readpickle(path="C:/Python27/Lib/site-packages/xy/"):
with open(path+"filenamereal2.txt","rb") as f:
model = pickle.load(f)
return model
我知道这个错误
itemmodelreal=readpickle(path="C:/Users/Lab Komputasi/Documents/estu/")
Traceback (most recent call last):
File "<ipython-input-33-265e46f74915>", line 1, in <module>
itemmodelreal=readpickle(path="C:/Users/Lab Komputasi/Documents/estu/")
File "<ipython-input-31-fbd3e8b9e043>", line 3, in readpickle
model = pickle.load(f)
File "C:\Users\Lab Komputasi\Anaconda2\lib\pickle.py", line 1384, in load
return Unpickler(file).load()
File "C:\Users\Lab Komputasi\Anaconda2\lib\pickle.py", line 864, in load
dispatch[key](self)
File "C:\Users\Lab Komputasi\Anaconda2\lib\pickle.py", line 886, in load_eof
raise EOFError
EOFError
这是我用来编写pickle的代码:
with open("filenamereal3.txt", "wb") as f:
pickle.dump(result, f)
f.close()
我使用read binary('rb')加载和写入binary('wb')写入,但它仍然有这个错误。 你知道为什么还是错误吗?如何解决此错误?
谢谢你的帮助。。。。
确保pickle文件不为空,例如,如果pickle是未初始化的变量。
我在加载以最高协议转储的大文件时遇到了同样的错误。
这似乎是pickle库的一个bug。我用cPickle解决了这个问题。
要加载数据,您不想读取数据(“rb”)而不是写入数据(“wb”)吗?
加载数据应如下所示:
另外,使用f.close()是不必要的,因为您使用的是with/as子句。
相关问题 更多 >
编程相关推荐