解释器的运行环境

源文件的字符编码

默认情况下,Python 源码文件以 UTF-8 编码方式处理。

在这种编码方式中,世界上大多数语言的字符都可以同时用于字符串字面值、变量或函数名称以及注释中——尽管标准库中只用常规的 ASCII 字符作为变量或函数名,而且任何可移植的代码都应该遵守此约定。

要正确显示这些字符,你的编辑器必须能识别 UTF-8 编码,而且必须使用能支持打开的文件中所有字符的字体。

指定编码

如果不使用默认编码,要声明文件所使用的编码,文件的第一行要写成特殊的注释。

语法如下所示:

# -*- coding: encoding -*-

其中 encoding 可以是 Python 支持的任意一种 codecs。

比如,要声明使用 Windows-1252 编码,你的源码文件要写成:

# -*- coding: cp1252 -*-

关于 第一行 规则的一种例外情况是,源码以 UNIX “shebang” 行 开头。

这种情况下,编码声明就要写在文件的第二行。

例如:

#!/usr/bin/env python3
# -*- coding: cp1252 -*-

参考资料

文件编码