最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在終端啟動Python時報(bào)錯的解決方案

 更新時間:2020年11月20日 16:34:24   作者:風(fēng)中之云  
這篇文章主要介紹了在終端啟動Python時報(bào)錯的解決方案,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

最近,在終端啟動Python時,報(bào)了一個錯誤:

Failed calling sys.__interactivehook__
Traceback (most recent call last):
 File "d:\ProgramData\Anaconda3\lib\site.py", line 439, in register_readline
  readline.read_history_file(history)
 File "d:\ProgramData\Anaconda3\lib\site-packages\pyreadline\rlmain.py", line 165, in read_history_file
  self.mode._history.read_history_file(filename)
 File "d:\ProgramData\Anaconda3\lib\site-packages\pyreadline\lineeditor\history.py", line 82, in read_history_file
  for line in open(filename, 'r'):
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 2167: illegal multibyte sequence

原因是Python的終端歷史文件中包含中文,但不能正確使用gbk解碼。查看了Python歷史文件(系統(tǒng)用戶目錄下的.python_history),其編碼方式為“utf-8”,而”history.py”中讀取歷史文件時使用的編碼方式為“gbk”,所以會報(bào)錯。 

解決方法

在history.py中使用`for line in open(filename, 'r')`來打開文件并讀取每一行,使用的是默認(rèn)的編碼方式。需要根據(jù)不同文件的編碼方式傳入相應(yīng)的參數(shù)值。

1. 首先檢測出要打開的文件的編碼方式。

在類中定義一個私有方法_get_encoding,作用是檢測文件的編碼方式,并返回。(需要導(dǎo)入chardet包)

def _get_encoding(self, filename=None):
  	if filename is None:
  		return

  	with open(filename, 'rb') as f:
  		return chardet.detect(f.read())['encoding']

2. 修改歷史文件內(nèi)容的讀取

encoding = self._get_encoding(filename)
      
for line in open(filename, 'r', encoding=encoding):
self.add_history(lineobj.ReadLineTextBuff(ensure_unicode(line.rstrip())))

以上就是在終端啟動Python時報(bào)錯的解決方案的詳細(xì)內(nèi)容,更多關(guān)于終端啟動python報(bào)錯的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python二維數(shù)組不同初始化方式的差異說明

    Python二維數(shù)組不同初始化方式的差異說明

    這篇文章主要介紹了Python二維數(shù)組不同初始化方式的差異說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Windows下anaconda安裝第三方包的方法小結(jié)(tensorflow、gensim為例)

    Windows下anaconda安裝第三方包的方法小結(jié)(tensorflow、gensim為例)

    conda的設(shè)計(jì)理念——conda將幾乎所有的工具、第三方包都當(dāng)做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環(huán)境管理的約束,能非常方便地安裝各種版本python、各種package并方便地切換
    2018-04-04
  • 簡潔的十分鐘Python入門教程

    簡潔的十分鐘Python入門教程

    這篇文章主要介紹了簡潔的十分鐘Python入門教程,Python語言本身的簡潔也使得網(wǎng)絡(luò)上各種Python快門入門教程有著很高的人氣,本文是國內(nèi)此類其中的一篇,需要的朋友可以參考下
    2015-04-04
  • Python使用sftp實(shí)現(xiàn)上傳和下載功能(實(shí)例代碼)

    Python使用sftp實(shí)現(xiàn)上傳和下載功能(實(shí)例代碼)

    在Python中可以使用paramiko模塊中的sftp登陸遠(yuǎn)程主機(jī),實(shí)現(xiàn)上傳和下載功能。接下來通過本文給大家介紹Python使用sftp實(shí)現(xiàn)上傳和下載功能,需要的朋友參考下
    2017-03-03
  • Python實(shí)現(xiàn)類別變量的獨(dú)熱編碼

    Python實(shí)現(xiàn)類別變量的獨(dú)熱編碼

    這篇文章主要為大家詳細(xì)介紹了基于Python下OneHotEncoder與pd.get_dummies兩種方法,實(shí)現(xiàn)機(jī)器學(xué)習(xí)中最優(yōu)的編碼方法——獨(dú)熱編碼的方法,需要的可以參考一下
    2023-02-02
  • Pycharm安裝第三方庫并更換鏡像的詳細(xì)教程

    Pycharm安裝第三方庫并更換鏡像的詳細(xì)教程

    在使用pycharm學(xué)習(xí)python的時候,經(jīng)常需要第三方庫,沒有第三方庫程序就會報(bào)錯,pycharm也會提醒你要安裝所需要的庫,下面這篇文章主要給大家介紹了關(guān)于Pycharm安裝第三方庫并更換鏡像的詳細(xì)教程,需要的朋友可以參考下
    2023-05-05
  • Pandas中shift庫的具體使用

    Pandas中shift庫的具體使用

    shift函數(shù)是Pandas庫中用于數(shù)據(jù)位移的函數(shù),常用于時間序列數(shù)據(jù)的處理,本文主要介紹了Pandas中shift庫的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 用Python給二維碼圖片添加提示文字

    用Python給二維碼圖片添加提示文字

    今天教各位小伙伴怎么用Python給二維碼圖片添加提示文字,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴很有幫助,需要的朋友可以參考下
    2021-05-05
  • 經(jīng)驗(yàn)豐富程序員才知道的15種高級Python小技巧(收藏)

    經(jīng)驗(yàn)豐富程序員才知道的15種高級Python小技巧(收藏)

    本文將介紹15個簡潔的Python技巧,向著簡潔更高效,學(xué)習(xí)易懂出發(fā),具說只有經(jīng)驗(yàn)豐富程序員才知道的15種高級Python小技巧,喜歡的朋友快來看看吧
    2021-10-10
  • 程序猿新手學(xué)習(xí)必備的Python工具整合

    程序猿新手學(xué)習(xí)必備的Python工具整合

    這篇文章主要介紹了程序猿新手必備的Python工具整合,Python 是一種開源編程語言,用于 Web 編程、數(shù)據(jù)科學(xué)、人工智能和許多科學(xué)應(yīng)用
    2021-09-09

最新評論

通榆县| 高淳县| 长治市| 光泽县| 文山县| 漳州市| 白山市| 蒙山县| 石棉县| 建德市| 阳新县| 山阴县| 丰镇市| 青神县| 新民市| 新干县| 德昌县| 文登市| 宜兰市| 洪湖市| 会同县| 读书| 黔江区| 积石山| 平潭县| 六枝特区| 鹤峰县| 台中县| 荣昌县| 新化县| 阳信县| 遵义县| 板桥市| 大渡口区| 湘乡市| 潼南县| 莆田市| 出国| 安化县| 华宁县| 苍梧县|