问题:这是从哪里来的:-*-编码:utf-8-*-
Python将以下内容识别为定义文件编码的指令:
# -*- coding: utf-8 -*-
我确实在(-*- var: value -*-
)之前看到过这种说明。它从何而来?完整规范是什么,例如,值可以包含空格,特殊符号,换行符,甚至-*-
本身吗?
我的程序将编写纯文本文件,我想使用这种格式在其中包含一些元数据。
回答 0
这种指定Python文件编码的方式来自PEP 0263-定义Python源代码编码。
GNU Emacs也可以识别它(请参阅Python语言参考,2.1.4编码声明),尽管我不知道它是否是第一个使用该语法的程序。
回答 1
# -*- coding: utf-8 -*-
是Python 2的东西。在Python 3+中,源文件的默认编码已经是UTF-8,并且该行是无用的。
object
。
回答 2
回答 3
在PyCharm中,我将其省略。它将关闭底部的UTF-8指示器,并警告该编码为硬编码。不要以为您需要上面提到的PyCharm评论。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。