的Python識別以下爲指令定義文件的編碼:哪裏這個來自: - * - 編碼:UTF-8 - * -
# -*- coding: utf-8 -*-
我絕對看到了這樣的指令之前(-*- var: value -*-
)。它從何而來?什麼是完整的規範,例如可以包含空格,特殊符號,換行符,甚至是-*-
本身?
我的程序將編寫純文本文件,我想在這些格式中包含一些元數據。
的Python識別以下爲指令定義文件的編碼:哪裏這個來自: - * - 編碼:UTF-8 - * -
# -*- coding: utf-8 -*-
我絕對看到了這樣的指令之前(-*- var: value -*-
)。它從何而來?什麼是完整的規範,例如可以包含空格,特殊符號,換行符,甚至是-*-
本身?
我的程序將編寫純文本文件,我想在這些格式中包含一些元數據。
這種指定Python文件編碼的方式來自PEP 0263 - Defining Python Source Code Encodings。
它也被GNU Emacs認可(請參閱Python Language Reference, 2.1.4 Encoding declarations),儘管我不知道它是否是第一個使用該語法的程序。
這就是所謂的文件局部變量,Emacs可以理解並相應地設置。請參閱相應的section in Emacs manual - 您可以在文件的頁眉或頁腳中定義它們
在PyCharm中,我會將其忽略。它會關閉底部的UTF-8指示器,並顯示編碼爲硬編碼的警告。不要以爲你需要上面提到的PyCharm評論。
這更容易記住,並在我的編輯器PyCharm中工作。 `#coding:utf-8` – crizCraig 2012-04-27 00:23:31
使用`#編碼:utf8`開箱即用Python 2.7,即使在PyCharm之外。 (我使用SublimeText)。 – Basj 2018-02-23 14:48:39