2011-02-02 58 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評論。