这是从哪里来的: – * – coding:utf-8 – * –

Python将以下内容识别为定义文件编码的指令:

# -*- coding: utf-8 -*- 

-*- var: value -*- )之前我确实看到了这样的说明。 它从何而来? 什么是完整的规范,例如,值可以包括空格,特殊符号,换行符,甚至是-*-本身?

我的程序将编写纯文本文件,我想在这些格式中包含一些元数据。

这种指定Python文件编码的方式来自PEP 0263 – 定义Python源代码编码 。

它也被GNU Emacs认可(请参阅Python语言参考,2.1.4编码声明 ),尽pipe我不知道它是否是第一个使用该语法的程序。

这就是所谓的文件局部variables,Emacs可以理解并相应地设置。 请参阅Emacs手册中的相应章节 – 您可以在文件的页眉或页脚中定义它们

在PyCharm中,我会把它排除在外。 它会closures底部的UTF-8指示器,警告编码是硬编码的。 不要以为你需要上面提到的PyCharm评论。