【问题标题】:I/O Error: Bad File Descriptor, can not save python fileI/O 错误:错误的文件描述符,无法保存 python 文件
【发布时间】:2019-06-26 20:05:48
【问题描述】:

我最近卸载并重新安装了 python,从那以后我无法保存我的程序之一。

当我按下 ctrl+S 时,IDLE 会弹出一个窗口,上面写着I/O Error: Bad file descriptor。我什至无法保存我的文件!

事实证明,我认为这与实际代码没有任何关系。无论程序中有什么,当我尝试保存时它仍然会抛出这个错误,除非没有任何代码!

如果有人知道为什么会发生此错误,请告诉我或发布代码的更新版本,感谢任何帮助

我使用的是 Windows 10、Python 3.7.3 64 位 [几天前我卸载(仅通过 Windows 设置)32 位并从 python 网站安装了 64]

【问题讨论】:

  • 将您的代码减少到获得错误所需的最小值。它可能什么都没有,因为编辑缓冲区的内容不应该影响保存。然后发布完整的回溯。如果您使用 IDLE 进行编辑,请从系统终端/控制台使用 python -m idlelib 启动它。
  • 谢谢@TerryJanReedy,我更新了我的问题并尝试从命令提示符打开idle,仍然没有运气
  • 你能运行Spyder吗?
  • 这是一个奇怪的错误,并且证明您的 Python 安装有问题。正常的答案是重新安装 Python,但根据操作系统可能会有一些问题。您至少应该提供更多关于您当前配置的信息:操作系统、版本、Python 版本以及您卸载和尝试重新安装的方式。
  • 感谢@SergeBallesta,我将这些添加到我的问题中

标签: python python-3.x file python-idle


【解决方案1】:

在 Windows 中,理论上可以并排安装 32 位和 64 位版本的 Python,并且它应该与正版安装一起使用。但是龙在附近等待:

  • 可能有指向错误位置的快捷方式。
  • 如果 PATH 已更改为允许从命令行直接使用 pythonpip 命令,则存在使用错误工具的风险
  • 如果设置了任何 Python 环境变量,几乎可以保证出现问题

此外,Python 既可以为当前用户安装,也可以为所有用户安装,这增加了不一致的可能性。

一旦安装被认为损坏,卸载其中一个版本通常是无用的,甚至会导致更多问题。长话短说,如果你进入了不一致的世界,你必须清理一切。

我的建议是:

  • 找到 Python 版本的安装位置并记下它
  • 查找是否已安装其他工具 (py) 并尝试查找哪些工具
  • 卸载每个 Python 版本
  • 控制安装路径为空
  • 在环境和 PATH 中搜索任何与 Python 相关的信息并将其删除

一切正常后,从安装向导重新安装。

希望它应该工作。如果不这样做,我将无能为力:尽管 Windows 被呈现为一个最终用户友好的系统,但它是一个功能非常丰富和复杂的操作系统,尝试全面分析 Windows 系统超出了大多数用户的能力,包括大多数高级用户和系统管理员。在某一时刻,剩下的唯一可能性是重新安装完整的操作系统,然后重新安装所有东西......如果可能的话......

【讨论】:

  • 不走运,感谢您的帮助,看来系统还原是我唯一的选择
  • 系统还原工作正常,我会接受你的回答来关闭问题
【解决方案2】:

我也遇到过同样的问题。 就我而言,Windows 10 Defender 是根本原因。 我在 Windows Defender Ransomware Protection 中添加了我使用的 IDE 的 python.exe,问题就消失了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多