当前位置:   article > 正文

pickle.load文件时候EOFError: Ran out of input_pickle.loads ran out of input

pickle.loads ran out of input

原因:load的文件为空,就会出现这种错误。

解决方案:

1.如果是读取单个文件的话,查看文件是否为空。

有可能之前不是空文件,但由于用pickle.load文件时需要打开文件操作,可能在这个过程中把文件内容清空了也未可知。

import pickle
import os
file_name = 'tokenizer.pkl'
if os.path.getsize(file_name):
    with open(file_name,'rb') as f:
        tokenizer = pickle.load(f)
else:
    print('the file is 空')
 

2.如果是批量操作文件的话,可以抛出异常,这样就不会影响整个程序的运行。
try:
    with open(file_name,'rb') as f:
        tokenizer = pickle.load(f)
except EOFError:
    print('the file is 空')

如果不知道是什么错误

try:
    with open(file_name,'rb') as f:
        reload_tokenizer = pickle.load(f)
except Exception as e:
    print('the file is 空 %s'%e)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/392021
推荐阅读
相关标签
  

闽ICP备14008679号