代码是这样的
with open(pickle_f, 'r') as fhand:
obj = pickle.load(fhand)
这在 Linux 系统上运行良好,但在 Windows 上运行不佳。它显示 EOFError。
我必须使用 rb
模式才能使其在 Windows 上运行。现在这在 Linux 上不起作用。
为什么会发生这种情况,如何解决?
最佳答案
读写 pickle 时始终使用b
模式(open(f, 'wb')
用于写入,open(f, 'rb')
用于阅读)。要“修复”您已有的文件,请使用 dos2unix
转换其换行符。
关于python - pickle.load() 在 Windows 中引发 EOFError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15719930/