python文件编码说明 coding=utf-8

python 支持3种编码声明,通常经常使用能见到下面两种python

1.# -*- coding: utf-8 -*-express

  这种写法是为了兼容Emacs的编码声明vim

2.短一点,但Emacs不能用# coding=utf-8this

短一点,但Emacs不能用编码

 

之因此要声明未编码类型 ,主要是中文出错的问题。spa

在python 文件开头(通常是第一行或第二行),用来讲明你的Python源程序文件用使用的编码。缺省状况下你的程序须要使用ascii码来写,但若是在其中写中文的话,python解释器通常会报错,但若是加上你所用的文件编码,python就会自动处理再也不报错。code

这里要注意的是:orm

1.coding 后面使用 ":" 或 "=" 均可以utf-8

2.可是, ":" 或 "=" 必须和 coding之间没有空格。以前我就试过有空格声明失败,仍是不支持中文。至于 ":" 或 "=" 后面,有没有空格就没所谓了。ci

 

见:https://www.python.org/dev/peps/pep-0263/

Defining the Encoding

    Python will default to ASCII as standard encoding if no other
    encoding hints are given.

    To define a source code encoding, a magic comment must
    be placed into the source files either as first or second
    line in the file, such as:

          # coding=<encoding name>

    or (using formats recognized by popular editors)

          #!/usr/bin/python
          # -*- coding: <encoding name> -*-

    or

          #!/usr/bin/python
          # vim: set fileencoding=<encoding name> :

    More precisely, the first or second line must match the regular
    expression "coding[:=]\s*([-\w.]+)". The first group of this
    expression is then interpreted as encoding name. If the encoding
    is unknown to Python, an error is raised during compilation. There
    must not be any Python statement on the line that contains the
    encoding declaration.
相关文章
相关标签/搜索