Python设置系统默认编码

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())
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值