Python设置系统默认编码

版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/79037916

Python默认的系统编码为ASCII编码,在日程的编码中经常会碰到Python的编码问题,为了一劳永逸的解决这个问题,可以将Python的系统默认编码设置为utf-8

  • 常见错误
UnicodeEncodeError: 'ascii' codec can't encode characters in position
  • 查看系统默认编码
import sys
sys.getdefaultencoding()  
  • 修改系统默认编码
    site-packages文件夹下建立sitecustomize.py文件,文件内容如下:
import sys  
sys.setdefaultencoding('utf8')
  • site-packages的目录

anaconda目录通常为yourpath/anaconda/lib/python2.7/site-packages
Mac目录通常为/usr/local/lib/python2.7/site-packages

  • Python3
    在Python3中调用print 时同样会碰到编码问题,查看sys.getdefaultencoding()发现编码是utf-8,没问题。此时可能的问题是sys.stdout 编码的问题。解决方案如下:
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')

# or
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
展开阅读全文

没有更多推荐了,返回首页