`
davidxiaozhi
  • 浏览: 241537 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python编码设置

阅读更多
       当我们的python源文件中出现中文的问题是,我们便需要指定源文件中的编码,这样解释器就会使用指定编码去解释源文件,python默认编码如果我们木有制定的话默认是ASCII
通过python官方文档,如果我们对python源文件指定编码的话我们必须如下图一样声明注释在第一行或者第二行
例如
# coding=<encoding name>  例如 # -*- coding: UTF-8 -*-

或者通过流行的编辑器 使用 公认的格式
 
#!/usr/bin/python
 # -*- coding: <encoding name> -*-

或者

#!/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

好吧,我承认有的同学懒得看英文文档,大概意思是这样:更准确的来说,第一行或者第二行必须匹配正则表达式
coding[:=]\s*([-\w.]+) 第一组表达式([-\w.]+) 被解释成一个字符编码,如果解释的编码python不知道,在编译的时候一个错误便会给出,这里必须有一个python语句在前两行并且包含编码的声明

To aid with platforms such as Windows, which add Unicode BOM marks to the beginning of Unicode files, the UTF-8 signature '\xef\xbb\xbf' will be interpreted as 'utf-8' encoding as well (even if no magic encoding comment is given). If a source file uses both the UTF-8 BOM mark signature and a magic encoding comment, the only allowed encoding for the comment is 'utf-8'.  Any other encoding will cause an error.
 
对于windows平台 如果一个Unicode BOM标记开始于Unicode 文件, UTF-8签名'\xef\xbb\xbf' 将会被解释为utf-8编码(即使我们在注释中声明了其他编码),但是如果源文件中包含UTF-8 BOM 标记 我们在注释中提供了编码 也仅仅允许是UTF-8 否则一个错误将会给出。

 1. With interpreter binary and using Emacs style file encoding
       comment:

          #!/usr/bin/python
          # -*- coding: latin-1 -*-
          import os, sys
          ...

          #!/usr/bin/python
          # -*- coding: iso-8859-15 -*-
          import os, sys
          ...

          #!/usr/bin/python
          # -*- coding: ascii -*-
          import os, sys
          ...

    2. Without interpreter line, using plain text:

          # This Python file uses the following encoding: utf-8
          import os, sys
          ...

    3. Text editors might have different ways of defining the file's
       encoding, e.g.

          #!/usr/local/bin/python
          # coding: latin-1
          import os, sys
          ...

    4. Without encoding comment, Python's parser will assume ASCII
       text:

          #!/usr/local/bin/python
          import os, sys
          ...

    5. Encoding comments which don't work:

       Missing "coding:" prefix:

          #!/usr/local/bin/python
          # latin-1
          import os, sys
          ...

       Encoding comment not on line 1 or 2:

          #!/usr/local/bin/python
          #
          # -*- coding: latin-1 -*-
          import os, sys
          ...

       Unsupported encoding:

          #!/usr/local/bin/python
          # -*- coding: utf-42 -*-
          import os, sys
分享到:
评论

相关推荐

    PEP8Python 编码规范

    标题“PEP8 Python编码规范”指出,接下来的内容会涉及将Python代码从英文注释和文档转变成中文注释和文档的数据规范。这实际上是有关代码国际化和本地化的问题,不过,原文提到的“将Python的英文编码变成中文的...

    Python编码规范(Google)

    ### Python编码规范详解(基于Google风格指南) #### 一、概览 Python作为一种广泛使用的高级编程语言,其编码规范对于确保代码的可读性和一致性至关重要。Google作为业界领先的公司之一,发布了一份详细的Python...

    google的python编码规范.pdf

    Google Python 编码规范 本文档是 Google 公司的 Python 编码规范,旨在为 Python 程序员提供一个详细的编码风格指南。该指南涵盖了 Python 语言规则、 Python 风格规则、代码编写风格、注释、类、字符串、TODO ...

    Python编码规范.pdf

    Python 编码规范 Python 编码规范是指在编写 Python 代码时需要遵守的一系列规则和约定,以确保代码的可读性、可维护性和一致性。该规范涵盖了代码的布局、缩进、空格、行的最大长度、空行、编码、导入、空格等方面...

    Shannon_Python香农编码_python_shannon_香农编码_

    在Python中实现香农编码,首先需要统计字符的出现频率,这可以通过构建一个字典来完成。例如,遍历文本文件,对每个字符进行计数,得到一个键为字符、值为频率的字典。接着,可以使用哈夫曼树(也称为最优二叉树)来...

    python编码规范

    ### Python编码规范详解 #### 一、引言 在Python编程的世界里,遵循一定的编码规范不仅能够提升代码的可读性和可维护性,还能帮助开发者更好地融入社区,提高团队协作效率。本文旨在介绍Python官方推荐的编码规范...

    python运行环境编码设置

    在windows平台开发python时,会遇到utf-8和gbk编码不同意造成乱码的问题,将此文件放在\PYTHON_HOME\Lib\site-packages目录下,可以解决问题

    PEP8 Python编码规范

    PEP8是Python编程语言的官方编码规范,它由Python的核心开发者Guido van Rossum、Barry Warsaw和Nick Coghlan等人撰写和维护,最初于2001年发布。PEP是Python Enhancement Proposals的缩写,意为Python增强提案。PEP...

    PEP8Python编码规范.pdf

    "PEP8 Python 编码规范" PEP8 是 Python 官方提供的一份编码规范指南,旨在提高 Python 代码的可读性、可维护性和可重用性。本文档将对 PEP8 中的各种规范进行详细解释和总结。 缩进和换行 PEP8 规定使用 4 个...

    python实现算术编码

    在这个Python实现中,我们将深入探讨算术编码的基本原理、Python编程实现的关键步骤以及如何进行编码和解码。 1. **算术编码的基本概念** 算术编码的核心思想是将输入符号的概率分布转化为一个连续的区间,通过...

    python编码规范.pdf

    适用于初学者的python规范。 “没有规矩不成方圆”。编程工作往往是一个团队协同进行,我们写出来的代码最终可能要提供给同事或其他人阅读,因而我们迫切需要一份一致的编码规范,以提高组内代码的可读性,同时加强...

    Python 编码规范(Google) _ 菜鸟教程.pdf

    Python编码规范(Google)是由Google公司所提出的Python编程风格指南,旨在提高代码的可读性和一致性。这个规范并非由Google官方直接创建和维护的项目,而是由国内程序员基于对Google风格的喜爱而创建和维护。本文档...

    Python开发编码规范

    以下是关于Python编码规范的一些关键点: 1. **命名规则**: - 变量、函数、类名应使用小写字母和下划线组合,如`my_variable`,`function_name`,` MyClass`。 - 常量应全大写,单词间用下划线分隔,如`MY_...

    python编码规范.txt

    ### Python编码规范详解 #### 一、概述 Python作为一种广泛使用的高级编程语言,其编码规范对于提高代码可读性、可维护性和团队协作至关重要。本文档基于“python编码规范.txt”这一资料,深入探讨了Python编程的...

    python编码规范.ppt

    python编码规范,基础学习知识,喜欢的来哦

    Python编码规范

    Python编码规范

    Python PEP8编码规范中文版

    PEP8编码规范,全称为“Style Guide for Python Code”,是由Python社区制定的一套编程风格指南,旨在提高Python代码的可读性和一致性。自2001年首版发布以来,经过多次修订和完善,PEP8已成为Python编程中普遍遵循...

Global site tag (gtag.js) - Google Analytics