pickle.load()在Windows中引发EOFError

这是代码是如何

with open(pickle_f, 'r') as fhand: obj = pickle.load(fhand) 

这在Linux系统上可以正常工作,但不能在Windows上工作。 它显示EOFError。 我必须使用rb模式使其在Windows上工作..现在这不适用于Linux。

为什么会发生这种情况,以及如何解决这个问题?

阅读和书写泡菜时,始终使用b模式( open(f, 'wb')进行书写, open(f, 'rb')进行阅读)。 要“修复”你已有的文件,使用dos2unix转换它的换行符。