python汉字dict,list的处理

python中包含UTF-8编码中文的列表或字典的输出  

在python 下面一个包含中文字符串的列表(list)或字典,直接使用print会出现如下的结果:

>>> dict = {"asdf": "咱们的python学习"}
>>> print dict
{'asdf': '\xe6\x88\x91\xe4\xbb\xac\xe7\x9a\x84python\xe5\xad\xa6\xe4\xb9\xa0'}
在输出处理好的数据结构的时候很不方便,须要使用如下方法进行输出:
>>> import json
>>> print json.dumps(dict, encoding="UTF-8", ensure_ascii=False)
{"asdf": "咱们的python学习"}
注意上面的两个参数
 
若是是字符串,直接输出或者
print str.encode("UTF-8")
 
print 的重定向:
fin = open("xx.txt", 'r');
print >>fin, "hello world", 12;
fin.close();
 
可是,要将print的内容重定向到文件中,会报UnicodeEncodeError: 'ascii' codec can't encode characters in position 48-51这个错。
在import sys后加上下面两句就OK了。

reload(sys)
sys.setdefaultencoding('utf8')python

相关文章
相关标签/搜索