为了解决Python的 UnicodeDecodeError: 'ascii' codec can't decode byte ,我们可以加入以下代码。
import sys reload(sys) sys.setdefaultencoding('utf-8')
但是在编辑的时候发现,普通的输出却不见了,如图 print 1都没反应。
查资料后解决,原来reload(sys)的时候,sys.stdout 这个参数被重置为了ipython 的对象,导致无法输出。因此可以用以下代码代替
import sys stdo = sys.stdout reload(sys) sys.setdefaultencoding('utf-8') sys.stdout= stdo
在python 下面一个包含中文字符串的列表(list)或字典,直接使用print会出现以下的结果:
dict = {"asdf": "我们的python学习"}
print dict
{'asdf': 'xe6x88x91xe4xbbxacxe7x9ax84pythonxe5xadxa6xe4xb9xa0'}
在输出处理好的数据结构的时候很不方便,需要使用以下方法进行输出:
import json
print json.dumps(dict, encoding="UTF-8", ensure_ascii=False)