国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python文件的編碼注釋 utf-8

2019-11-08 02:43:40
字體:
來源:轉載
供稿:網友
如果要在python2的py文件里面寫中文,則必須要添加一行聲明文件編碼的注釋,否則python2會默認使用ASCII編碼。

[python] view plain copy# -*- coding:utf-8 -*-  

問題就來了,為什么要如此聲明?

首先請參考Python的PEP http://www.python.org/dev/peps/pep-0263/

概要如下

1.必須將編碼注釋放在第一行或者第二行

2.可選格式有

[python] view plain copy# coding=<encoding name>  [python] view plain copy#!/usr/bin/python  # -*- coding: <encoding name> -*-  [python] view plain copy#!/usr/bin/python  # vim: set fileencoding=<encoding name> :  但是再往下看,發現其實只要注釋里面有coding 和對應的編碼就可以了,例如

[python] view plain copy#!/usr/bin/python  # vim: set fileencoding=<encoding name> :  所以搞了半天對最標準的做法也有點糊涂了。

后來想了想,看了下VIM中對python的語法高亮文件,里面把如下的正則表達式確定為編碼聲明

[plain] view plain copy/%^.*/n.?/?#.*coding[:=]/s*[0-9A-Za-z-_.]/+.*$  對于這個正則有些有點看不懂,但是大致如下必須有coding:[編碼]或者coding=[編碼]才行,這個應該可以視作為標準的聲明方式吧。

但是為什么通常這種方式呢?

[python] view plain copy# -*- coding:utf-8 -*-  答案在PEP-0263里面有所提及,那就是Emacs等編輯器使用這種方式進行編碼聲明。

話說PEP里面很多東西都是很值得參考的畢竟可以知道為什么程序這樣設計。

相關參考

PEP-0263

http://www.python.org/dev/peps/pep-0263/

vim語法文件編寫總結

http://www.cnblogs.com/kohpoll/archive/2012/08/04/2623483.html

# -*- coding: UTF-8 -*- 這是個注釋嗎?

http://bbs.chinaunix.NET/thread-590066-1-1.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五莲县| 屏东县| 略阳县| 东乌珠穆沁旗| 元阳县| 五河县| 安仁县| 社旗县| 英吉沙县| 栾川县| 贵南县| 泰顺县| 义乌市| 徐水县| 婺源县| 合阳县| 惠安县| 汶上县| 视频| 抚宁县| 翁牛特旗| 常山县| 贵定县| 巴青县| 德化县| 依兰县| 遵义市| 虞城县| 保靖县| 鲁山县| 镇远县| 井冈山市| 重庆市| 绥阳县| 岑巩县| 承德县| 锡林郭勒盟| 上林县| 思茅市| 锦州市| 白城市|