zoukankan      html  css  js  c++  java
  • Python sys.setdefaultencoding('utf-8') 后就没输出

    为了解决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)

  • 相关阅读:
    常见面试题1
    勒索病毒防范方法
    VMware虚拟机打开后不兼容
    win10桌面显示我的电脑设置
    scala集合和Java集合对应转换操作
    scala中使用redis
    爬虫调研
    hadoop命令
    IDEA打jar包
    spark.mllib
  • 原文地址:https://www.cnblogs.com/vhills/p/7605126.html
Copyright © 2011-2022 走看看