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

相關文章
相關標籤/搜索