python-3.x - IDLE 3.8.4 和 3.9.0b4 不会保存非 ascii 字符的文件

标签 python-3.x python-idle

编辑:在 iomenu.py 中添加“import io”确实解决了这个问题。非常感谢特里!
原来的:
就像标题说的:我正在使用 IDLE (Windows) 在 python 中编写脚本,但它不会保存(ctrl+s、手动保存或退出时保存)。它不会卡住或崩溃,它只是不会保存(我可以通过 Windows 标题上文件名前的 * 来判断)。
经过一些尝试,我意识到只有当我在文本中使用带有变音符号的字母时才会发生这种情况(我是法语,所以它会是 éèêàç...)。一旦我更改了字母,我就可以再次保存,从而运行脚本。
记事本或 python shell 仍然可以正常工作。
不起作用的事情:

  • 将任何编码放入 # -*- coding: UTF-8 -*-
  • 重新安装 python(完成两次)
  • 正在重启

  • 我十天前才开始编码,所以我还是个新手,但我想这与编码有关吗?
    这可能与新的 3.8.4 更新有关,因为它直到今天都运行良好。
    我正在使用 Windows 10 64 位。
    谢谢!

    最佳答案

    a) 添加 import io<pythondir>/idlelib/iomenu.py 的顶部,或 b) 获得 3.8.5,今天发布,对 3.8.4 中的多个问题进行了热修复,包括这个问题。相同的答案适用于今天发布的 3.9.0b4 与 3.9.0b5。
    编辑:在 3.8.5 和 3.9.0b5 中,编辑在 IDLE 之外创建的文件时保存失败和行尾仍然存在另一个问题。 imenu.py,第 251 行,当前是

        if self.eol_convention != "\n":
    
    将其更改为
        if isinstance(self.eol_convention, str) and self.eol_convention != "\n":
    
    编辑 2:最近发布的 3.8.6 和 3.9.0 解决了这两个问题。

    关于python-3.x - IDLE 3.8.4 和 3.9.0b4 不会保存非 ascii 字符的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63000314/

    相关文章:

    python - Win 7,IDLE突然不工作,Labview不工作,系统缓慢

    python - 为什么我的 getpass.getpass() 不工作?

    python - 打开 Python IDLE 并运行命令

    python - 适用于 Mac 的 native Python 编辑器?

    python - 从 Pandas 的 DataFrame 中的查询中选择行

    python - 两个呈现的类之间有什么区别?他们的工作方式不同吗?

    python - 如何在 python @functools.lru_cache 上使用 cache_clear()

    python - 返回字符串创建元组 Python 递归

    python-3.x - 如何将 base64 字符串转换为 PIL Image 对象

    python-3.x - KeyError 中错误消息的新行 - Python 3.3