UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 4..... 针对调用文件出现该错误时的解决办法

这个问题确实困扰了我好久,上网查询了很多博客,发现大家的解决方案都千篇一律,无非是那几个方法。但是有些方法是针对不同版本的python设计的,我们应该明确我们的问题出在哪,再去找相应的解决方案。

首先,我们需要明确一点,python2.7的编码格式默认为“ascii”,而python3.6的编码格式为“utf-8”。意思就是,你在python2.1环境下生成的所有附加文件都是以python2.7的一套东西编码的,python3.6也同样。先来介绍网上的办法。

1.网上解决办法

if sys.getdefaultencoding() != 'utf-8':
    reload(sys)
    sys.setdefaultencoding('utf-8')


但用了这个方法的同学会发现,他会报关于reload函数的错误,这是因为,python3.6已经抛弃了reload和setdefaultendoding。所以如果你是python3.6用户,就别想这个方法了。

 

2.根本解决办法,是将你所需要的附加文件,在现行python版本下生成一遍方可解决这个问题。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值