python中文支持
① python2默认不支持中文编码,怎么实现对中文编码的支持
Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题。
Python 文件中如果未指定编码,在执行过程会出现报错:
12
#!/usr/bin/pythonprint "你好,世界";
以上程序执行输出结果为:
12
File "test.py", line 2SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared; see hp-0263.html for details
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了。
实例(Python 2.0+)
1234
#!/usr/bin/python# -*- coding: UTF-8 -*- print "你好,世界";
输出结果为:
1
你好,世界
所以如果大家再学习过程中,代码中包含中文,就需要在头部指定编码。
注意:Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
② Python脚本的中文支持
list['中文']
那不是
乱码
>>>
a
=
'中文'
>>>
a
'\xe4\xb8\xad\xe6\x96\x87'
-
这不是乱码,你的电脑也许会显示'\xd6\xd0\xce\xc4'或者其他,这仅仅是编码不一样而已
只要print
a能显示出'中文'就行了
③ python如何支持中文
在python脚本最前面加上 #-*- coding:GBK -*- GBK表示编码!这样子就可以了。
④ 有中文版的python
本身可以处理中文
前面加
#!/usr/bin/python
#-*-coding:UTF-8-*-
或者
#!/usr/bin/python
#coding=utf-8
⑤ python语言支持中文吗
python 支持unicode编码,自定义标识符都可以用中文表示
⑥ 急求助:python中文兼容问题,striing/list/dict不同显示结果
# -*- coding: cp936 -*-
a = '中文'
b = ['中文']
c = {1:'中文', '中文':2}
dstring = ''
lstring = ''
# 列表要整理一下,但前列表只有一个元素,但是真实环境中可能不止一个,
# 加一个处理过程。
for item in b:
if b[-1] == item:
lstring += '%s' % item
else:
lstring += '%s, ' % item
# 处理字典
for t in c.keys():
fill = '%s : %s' % (t, c[t])
dstring += fill
if c.keys().index(t) +1 != len(c):
dstring += ', '
print a
print '[%s]' % lstring
print '{%s}' % dstring
===============
我也是刚试出来。
但是,那个字典的定义好像有问题。
这段代码执行以后和定义的数据室一样的。
>>> =============== RESTART ===============
>>>
中文
[中文]
{中文 : 2, 1 : 中文}
>>>
⑦ 如何让python支持中文
Python | Sublime Text 3 中文支持全攻略
http://jingyan..com/article/b2c186c8da7262c46ef6ff25.html
⑧ python 为什么不支持中文
py2 默认字符集是 ASCII 这种字符集是不能对汉字进行编码的
py3 默认字符集是 utf8 这种字符集可以支持中文
⑨ python xlwt 是否支持中文
支持,xlwt 默认是写入uncode编码。至于是否支持其他编码格式不确定。
⑩ 如何解决Python中文问题
python的中文问题一直是困扰新手的头疼问题,Python的发行版至今尚未包括任何中文支持模块。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。 笔者使用的是2.5版本。Python的版本可以通过调用sys模块的sys.version查看。在几个月的学习中,主要遇到以下问题:
1. print打印中文的问题:
在编辑器中输入一段测试代码:
s=’测试’
print s
运行结果如下:
Non-ASCII character '\xb2' in file c:\Documents and Settings\Administrator\桌面\2.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details: 2.py, line 1, pos 0
原因是如果文件里有非ASCII字符,需要指定编码声明。把2.py文件的编码重新改为utf-8,并加上编码声明:
# -*- coding: utf-8 -*-
s=’测试’
print s
运行后可以正确打印中文。
2.中文路径的问题。
在D盘下保存一个名字为‘中文.txt‘的文件。运行如下测试代码:
# -*- coding: utf-8 -*-
f=open('D:\\中文.txt', 'r')
print f.read()
运行结果如下:
IOError: [Errno 2] No such file or directory: 'D:\\\xe4\xb8\xad\xe6\x96\x87.txt'
字符串有很多的编码,不同的系统和平台有各自的编码 ,为了实现系统或平台之间的信息交互可能需要编码转换。这里只需要先使用UNICODE编码一下,这样再读取中文路径就不会有问题了:
复制代码
# -*- coding: utf-8 -*-
path='D:\\中文.txt'
spath=unicode(path , "utf8")
f=open(spath,'r')
print f.read()
复制代码
然后就可以正确显示文件内容
总结:
所有的中文显示问题都可以归结为编码问题,遇到其他类似的问题,那只能仔细看文档,靠你的经验,靠你多做测试。而且根据python所报出来的错误一般也可以判断出来。那么当发现需要编码转换时,剩下的就是如何正确进行码制转换。
为了正确处理多语言文本,Python在2.0版后引入了Unicode字符串。从那时起,Python语言中的字符串就分为两种:一种是2.0版之前就已经使用很久的传统Python字符串,一种则是新的Unicode字符串。在Python语言中,一般的解决办法是使用unicode()内建函数对一个传统Python字符串进行“解码”,得到一个Unicode字符串,然后又通过Unicode字符串的encode()方法对这个Unicode字符串进行“编码”,将其“编码”成为传统Python字符串。