2011-02-02 93 views
84

的Python识别以下为指令定义文件的编码:哪里这个来自: - * - 编码:UTF-8 - * -

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

我绝对看到了这样的指令之前(-*- var: value -*-)。它从何而来?什么是完整的规范,例如可以包含空格,特殊符号,换行符,甚至是-*-本身?

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

+3

这更容易记住,并在我的编辑器PyCharm中工作。 `#coding:utf-8` – crizCraig 2012-04-27 00:23:31

+0

使用`#编码:utf8`开箱即用Python 2.7,即使在PyCharm之外。 (我使用SublimeText)。 – Basj 2018-02-23 14:48:39

回答

5

这就是所谓的文件局部变量,Emacs可以理解并相应地设置。请参阅相应的section in Emacs manual - 您可以在文件的页眉或页脚中定义它们

4

在PyCharm中,我会将其忽略。它会关闭底部的UTF-8指示器,并显示编码为硬编码的警告。不要以为你需要上面提到的PyCharm评论。