今天调用pickle.load总是出现EOFError,纠结的特别长时间,最后发现代码放错地方了,郁闷,这里记录下EOFError的错误,帮助以后写代码在这个问题养成良好习惯,尽快解决问题
EOFError一般是因为读到了空文件的时候出发,因此当load的时候catch一下这个异常,就很容易发现错误了:
def pickle_load(filename):
'''
调用pickle的load方法读入对象
@param filename 文件名
@return None-文件为空;否则-返回存入的对象
'''
with open(filename, 'rb') as input_file:
try:
return pickle.load(input_file)
except EOFError:
return None