3

我有一个以以下开头的 python 脚本:

#!/usr/bin/env python
# -*- coding: ASCII -*-

在保存之前,它总是拆分我的窗口,并询问:

警告(mule): :coding 标记为当前缓冲区/文件指定了无效的编码系统 `ASCII'。强烈建议在写入文件之前修复它。

我需要说是的,有办法禁用它吗?很抱歉问,但我在谷歌上没有运气。

加布里埃尔

4

2 回答 2

7

一个不涉及更改脚本的解决方案是告诉 EmacsASCII作为编码系统意味着什么。(默认情况下,Emacs 会调用它US-ASCII。)将其添加到您的.emacs文件中:

(define-coding-system-alias 'ascii 'us-ascii)

那么 Emacs 应该可以理解# -*- coding: ASCII -*-

于 2012-05-18T19:49:29.910 回答
3

Python 增强提案 (PEP) 263,定义 Python 源代码编码,讨论了定义源代码编码的多种方法。这里有两点特别重要:

  • 如果没有编码注释,Python 的解析器将假定为 ASCII

    所以你的文件中根本不需要这个。不过,如果您确实想明确说明文件编码:

  • 要定义源代码编码,必须将魔术注释放在源文件中,作为文件的第一行或第二行,例如:

    # coding=<encoding name>
    

    (请注意,=可以用 a 代替:)。所以你可以使用这个答案所建议的# coding: ascii而不是更详细的。这似乎让 emacs 很高兴。# -*- coding: ASCII -*-

于 2012-05-18T12:17:31.280 回答