报错及解决 ‘gbk‘ codec can‘t decode byte 0x80 和raise ImportError(‘Failed to initialize: {0}‘.format(exc)
在使用GitPython包準備爬git文件遇到了好多問題,現記錄下解決方案
情況1
File “D:\Anaconda\lib\subprocess.py”, line 1238, in _readerthread
buffer.append(fh.read())
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 41: illegal multibyte sequence
解決方案:
這個只需要點進subprocess.py 的init處修改encoding="utf-8"即可
情況2
這問題需要進去找用到的endswith的函數,根據報錯信息我們需要的是字符串而不是字節類型
發現這里的參數是newline,然后去找newline的定義或者賦值
看到這里就明白了,報錯的原因是走了else使得newline成了字節類型,不過為啥不能成字節類型作為參數,還要加這個else具體原因就不得而知,可能就是為了報個錯?接著我們去找universal_newlines的定義處
原本是False的,我已經修改成了True,當修改完之后,再修改了會兒自己代碼的問題,就會發現程序快樂的跑起來了。
總結
以上是生活随笔為你收集整理的报错及解决 ‘gbk‘ codec can‘t decode byte 0x80 和raise ImportError(‘Failed to initialize: {0}‘.format(exc)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JSP四大作用域的生命周期
- 下一篇: hive-sql截取汉字、字母和数字等