Python2.x版本中基本的中文编码问题解决

yipeiwu_com6年前Python基础

Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题。
Python 文件中如果未指定编码,在执行过程会出现报错:

#!/usr/bin/python
print "你好,世界";


以上程序执行输出结果为:
 

 File "test.py", line 2
SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了。
实例(Python 2.0+)

#!/usr/bin/python
# -*- coding: UTF-8 -*-

print "你好,世界";


输出结果为:

你好,世界

所以如果大家再学习过程中,代码中包含中文,就需要在头部指定编码。
注意:Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。

相关文章

Python生态圈图像格式转换问题(推荐)

Python生态圈图像格式转换问题(推荐)

在Python生态圈里,最常用的图像库是PIL——尽管已经被后来的pillow取代,但因为pillow的API几乎完全继承了PIL,所以大家还是约定俗成地称其为PIL。除PIL之外,越来...

python使用正则表达式替换匹配成功的组并输出替换的次数

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。 re 模块...

Python安装lz4-0.10.1遇到的坑

因为项目的需求,要 lz4.0.10.1 的,因为本机已经有一个 1.1.0 版本的,所以必须先卸掉,然后我差点没疯了(手动微笑) sudo pip uninstall lz4 Un...

Python中多线程thread与threading的实现方法

学过Python的人应该都知道,Python是支持多线程的,并且是native的线程。本文主要是通过thread和threading这两个模块来实现多线程的。 python的thread...

python将list转为matrix的方法

如下所示: import numpy as np tmp = [[1,2,3],[4,5,6],[7,8,9]]; np.matrix(tmp) 以上这篇python将list转...