【发布时间】:2011-06-13 14:38:43
【问题描述】:
我收到此错误,但我不知道它是什么意思。我该如何解决这个问题?
我的代码看起来是这样的,我以前用过它,它已经工作了:
parentdir = os.getcwd()
dirlist = os.listdir(parentdir)
for dir in dirlist:
if not dir == "pubs_edits": continue
if os.path.isdir(os.path.join(parentdir, dir)):
os.chdir(os.path.join(parentdir, dir))
file_list = os.listdir(os.path.join(parentdir, dir))
for f in file_list:
in1 = open(f, 'r')
dict2 = pickle.load(in1)
这是错误信息:
File "/home/md202/pmid_editor.py", line 18, in <module>
dict2 = pickle.load(in1)
File "/usr/lib/python2.5/pickle.py", line 1370, in load
return Unpickler(file).load()
File "/usr/lib/python2.5/pickle.py", line 858, in load
dispatch[key](self)
KeyError: '\x00'
【问题讨论】:
-
请提供完整的提示......这是您自己的代码吗?如何繁殖?
-
你在解压什么?如果它是您定义的类的实例,您是否导入了该类?
-
我正在解开我腌制到文件中的字典。
-
in1的值是多少?打印出来看看。看起来那里可能有一些Pickle不喜欢的 unicode 字符 -
您似乎正在尝试加载目录的所有内容,其中可能包含一个不包含腌制数据的文件。