python2.x中
debug的时候list的中文,print出来是转义字符。
>>> listnine = ['梨', '橘子', '苹果', '香蕉']
>>> listnine
['\xe6\xa2\xa8', '\xe6\xa9\x98\xe5\xad\x90', '\xe8\x8b\xb9\xe6\x9e\x9c', '\xe9\xa6\x99\xe8\x95\x89']
>>> print listnine
['\xe6\xa2\xa8', '\xe6\xa9\x98\xe5\xad\x90', '\xe8\x8b\xb9\xe6\x9e\x9c', '\xe9\xa6\x99\xe8\x95\x89']
如何姿势正确的打印呢?
- 方法一:利用字符串的decode函数
>>>print 'listnine list: %s' % str(listnine).decode('string_escape')
listnine list: ['梨', '橘子', '苹果', '香蕉']
- 方法二: 利用uniout模块
- 安装uniout模块
import uniout
之后,print含中文元素的list显示就不是转义符了
>>> listnine = ['梨', '橘子', '苹果', '香蕉']
>>> listnine
['\xe6\xa2\xa8', '\xe6\xa9\x98\xe5\xad\x90', '\xe8\x8b\xb9\xe6\x9e\x9c', '\xe9\xa6\x99\xe8\x95\x89']
>>> print listnine
['\xe6\xa2\xa8', '\xe6\xa9\x98\xe5\xad\x90', '\xe8\x8b\xb9\xe6\x9e\x9c', '\xe9\xa6\x99\xe8\x95\x89']
>>> import uniout
>>> print listnine
['梨', '橘子', '苹果', '香蕉']