UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 4..... 针对调用文件出现该错误时的解决办法
這個問題確實困擾了我好久,上網(wǎng)查詢了很多博客,發(fā)現(xiàn)大家的解決方案都千篇一律,無非是那幾個方法。但是有些方法是針對不同版本的python設(shè)計的,我們應(yīng)該明確我們的問題出在哪,再去找相應(yīng)的解決方案。
首先,我們需要明確一點(diǎn),python2.7的編碼格式默認(rèn)為“ascii”,而python3.6的編碼格式為“utf-8”。意思就是,你在python2.1環(huán)境下生成的所有附加文件都是以python2.7的一套東西編碼的,python3.6也同樣。先來介紹網(wǎng)上的辦法。
1.網(wǎng)上解決辦法
if sys.getdefaultencoding() != 'utf-8':
??? reload(sys)
??? sys.setdefaultencoding('utf-8')
但用了這個方法的同學(xué)會發(fā)現(xiàn),他會報關(guān)于reload函數(shù)的錯誤,這是因為,python3.6已經(jīng)拋棄了reload和setdefaultendoding。所以如果你是python3.6用戶,就別想這個方法了。
?
2.根本解決辦法,是將你所需要的附加文件,在現(xiàn)行python版本下生成一遍方可解決這個問題。
?
總結(jié)
以上是生活随笔為你收集整理的UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 4..... 针对调用文件出现该错误时的解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TypeError系列之:TypeErr
- 下一篇: sess.run接收返回值得变量和ses