原因: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)