当前位置: 首页 > 面试题库 >

pickle.load()在Windows中引发EOFError

邴景山
2023-03-14
问题内容

代码就是这样

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

这在Linux系统上运行良好,但在Windows上却无法运行。其显示EOFError。我必须使用rb模式才能使其在Windows上运行。

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


问题答案:

b读取和写入泡菜时始终使用模式(open(f, 'wb')用于写入open(f, 'rb')和读取)。要“修复”现有文件,请使用转换其换行符dos2unix



 类似资料:
  • 当我从命令行(java-jar forward.jar)运行我的应用程序时,一切都正常工作,不会抛出异常。但是,当运行与windows服务相同的应用程序时,我会得到NullPointerException。 19.06.2014 14:44:46.442[DefaultListableBeanFactory][AbstractBeanFactory.java][DEBUG][Thread-0]忽略

  • 我正在使用Mojang API从Minecraft玩家的用户名返回UUID。此方法在参数(我们想要知道UUID的播放器的用户名)中接受一个字符串。为了使用API的resultat,我使用SimpleJSON库(将JSON结果解析为要返回的字符串)。 我的方法抛出2个检查过的异常:IOExeption和Parse异常,因为我想要。当错误的用户名(因此不存在用户名)时,API返回一个空JSON对象,在

  • 问题内容: Linux支持使用-Command 向进程发送任意Posix- Signal,例如或发送给进程。虽然并且以无聊或友好的方式结束流程的乏味老方法,是要触发核心转储。这可以用来触发正在运行的Java VM以打印出线程转储,包括所有正在运行的线程的堆栈跟踪-整齐!在打印调试信息之后,Java VM将继续执行以前的操作;实际上,线程转储仅发生在另一个具有最高优先级的派生线程中。(您可以使用自己

  • 我正尝试在类的方法中使用(以支持拖放)。我想显示我拖动的文件的导入进度。然而,它并不起作用。我不明白问题是什么,或者是什么引起的。 例外情况:

  • 问题内容: 如果我 在表上有,如何抛出错误以阻止对该表进行更新? 问题答案: 这是一种可行的技巧。这不是干净的,但看起来可能可行: 本质上,您只是尝试更新不存在的列。

  • 问题内容: 有没有一种优雅的方法来处理块中引发的异常? 例如: 如何避免在/ 在块? 问题答案: 我通常这样做: 别处: