gpt4 book ai didi

python - 无法执行 pickle.load

转载 作者:行者123 更新时间:2023-12-01 02:30:58 25 4
gpt4 key购买 nike

我无法在我的虚拟机上执行简单的 pickle 加载。这是简单的演示代码。

root@bn18-6:~# python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pickle
>>> x = {1:2 }
>>> f = open ('demo', 'wb+')
>>> f
<open file 'demo', mode 'wb+' at 0x7fae71b44660>
>>> pickle.dump(x, f)
>>>
>>>
>>> f.close ()
>>>
>>>
>>> p = open('demo', 'wb+')
>>> p
<open file 'demo', mode 'wb+' at 0x7fae71b446f0>
>>> a = pickle.load (p)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/pickle.py", line 1384, in load
return Unpickler(file).load()
File "/usr/lib/python2.7/pickle.py", line 864, in load
dispatch[key](self)
File "/usr/lib/python2.7/pickle.py", line 886, in load_eof
raise EOFError
EOFError

我之前曾多次使用过 pickling 和 unpickling 来处理较大的数据,但没有遇到这个问题。

我也尝试过使用'r+''w+'

我找到了This相关,但解决方案涉及增加 RAM,这在我的情况下是不可能的,

还有几个涉及 pickle 错误的问题,但大多数问题都与文件打开模式有关。

最佳答案

您尝试加载的文件句柄 (p) 已使用模式 wb+ 打开。这会在打开时将文件截断为长度为零,因此 pickle.load 无法解开任何内容,因此会出现 EOFError。也许您打算使用 rb+ 来代替?

关于python - 无法执行 pickle.load,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46818937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com