欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python3 如何讀取python2的npy文件

 更新時間:2021年03月26日 15:06:45   作者:風(fēng)吹草地現(xiàn)牛羊的馬  
這篇文章主要介紹了python3 讀取python2的npy文件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

python3讀取python2打包的npy文件會報錯,原因是編碼方式不同,所以只要在讀取的時候加上編碼方式即可。

解決方法

docs_train = np.load('./data/20news_clean/train.txt.npy', allow_pickle=True, encoding='bytes')
docs_test = np.load('./data/20news_clean/test.txt.npy', allow_pickle=True, encoding='bytes')

路徑中的文件是python2打包的。

補充:在Python 3中加載Python 2 .npy文件時出錯

我有.npy文件,它們是使用Python 2.7.9和Numpy版本1.11.3通過命令創(chuàng)建的np.save('filename')。這些文件是在外部計算機上生成的,該外部計算機是我們研究所的linux集群的一部分。

我將文件復(fù)制到本地計算機上,以便通過導(dǎo)入它們np.load('filename.npy')。在我的本地計算機上,我正在運行帶有Jupyter-Notebook的Python 3.5.2和Numpy版本1.13.0。

本地操作系統(tǒng)是Ubuntu 16.04.2。

當(dāng)我嘗試在本地加載文件時,出現(xiàn)錯誤:

ValueError: invalid literal for int() with base 16

瀏覽了一些Stackoverflow問題后,我嘗試使用以下方式指定編碼:

np.load('filename.npy',encoding='latin1')

這給出了相同的錯誤。encoding='bytes'產(chǎn)量:

TypeError: can't multiply sequence by non-int of type 'float'

這是Traceback的較大片段:

/usr/local/lib/python3.5/dist-packages/numpy/lib/npyio.py in load(file, mmap_mode, allow_pickle, fix_imports, encoding)
417       else:
418         return format.read_array(fid, allow_pickle=allow_pickle,
--> 419                     pickle_kwargs=pickle_kwargs)
420     else:
421       # Try a pickle

/usr/local/lib/python3.5/dist-packages/numpy/lib/format.py in read_array(fp, allow_pickle, pickle_kwargs)
638       pickle_kwargs = {}
639     try:
--> 640       array = pickle.load(fp, **pickle_kwargs)
641     except UnicodeError as err:
642       if sys.version_info[0] >= 3:

/usr/local/lib/python3.5/dist-packages/sympy/core/numbers.py in __new__(cls, num, prec)
823         else:
824           _mpf_ = mpmath.mpf(
--> 825             S.NegativeOne**num[0]*num[1]*2**num[2])._mpf_
826     elif isinstance(num, Float):
827       _mpf_ = num._mpf_

TypeError: can't multiply sequence by non-int of type 'float'

我猜想在Python和Numpy版本之間的轉(zhuǎn)換時,編碼有問題。關(guān)于如何導(dǎo)入文件的任何想法?

解決方案

如中所示,*。npy中數(shù)據(jù)的存儲方式是什么?,.npy文件為字節(jié)碼,如果您在十六進制編輯器中打開一個字節(jié)碼,則會看到該文件。

Python 2字節(jié)碼.pyc,.pyo文件無法在Python 3中運行,因為虛擬機和編譯器內(nèi)部版本已隨主要版本更改。

同樣,NumPy的C內(nèi)部結(jié)構(gòu)和字節(jié)碼編譯器在Python 3中也發(fā)生了變化,從而破壞了向后兼容性。(這是有意的,因為字節(jié)碼并不是要持續(xù)那么長時間,或者不能與所創(chuàng)建的版本一起使用。)

這些變更的組成意味著,如果不對Python 3的字節(jié)碼解釋器和Python 3的NumPy進行大的更改,和/或從Python 2 NumPy字節(jié)碼到Python 3的轉(zhuǎn)譯器,則無法使用這些Python 2 .npy文件。 Python 3。

正如我之前提到的,這有點像X / Y問題。您不應(yīng)該依賴.npy文件在各個版本之間工作,因為不能保證它們會保持一致,因為它們本質(zhì)上是易失性格式(例如Python VM字節(jié)碼)。

與其對字節(jié)碼進行逆向工程以對其進行調(diào)試,不如嘗試獲取生成這些文件的源。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 用Python寫一個模擬qq聊天小程序的代碼實例

    用Python寫一個模擬qq聊天小程序的代碼實例

    今天小編就為大家分享一篇關(guān)于用Python寫一個模擬qq聊天小程序的代碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • python使用pytest接口自動化測試的使用

    python使用pytest接口自動化測試的使用

    這篇文章主要介紹了python使用pytest接口自動化測試的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python簡單實現(xiàn)9宮格圖片實例

    python簡單實現(xiàn)9宮格圖片實例

    在本篇內(nèi)容里小編給各位分享的是一篇關(guān)于python實現(xiàn)朋友圈中的九宮格圖片的實例講解,有需要的朋友們可以參考下。
    2020-09-09
  • python獲取指定網(wǎng)頁上所有超鏈接的方法

    python獲取指定網(wǎng)頁上所有超鏈接的方法

    這篇文章主要介紹了python獲取指定網(wǎng)頁上所有超鏈接的方法,涉及Python使用urllib2模塊操作網(wǎng)頁抓取的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • numpy找出array中的最大值,最小值實例

    numpy找出array中的最大值,最小值實例

    下面小編就為大家分享一篇numpy找出array中的最大值,最小值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python中Matplotlib圖像添加標(biāo)簽的方法實現(xiàn)

    Python中Matplotlib圖像添加標(biāo)簽的方法實現(xiàn)

    本文主要介紹了Python中Matplotlib圖像添加標(biāo)簽的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • python實現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法

    python實現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法

    這篇文章主要介紹了python實現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法,以URL轉(zhuǎn)換成文件路徑為例分析了Python實現(xiàn)地址轉(zhuǎn)換的技巧,需要的朋友可以參考下
    2015-07-07
  • Python快速優(yōu)雅的批量修改Word文檔樣式

    Python快速優(yōu)雅的批量修改Word文檔樣式

    本文主要將涉及os,glob,docx模塊的綜合應(yīng)用,幫助大家快速批量修改Word文檔樣式實現(xiàn)辦公自動化,感興趣的朋友可以了解下
    2021-05-05
  • numpy的squeeze函數(shù)使用方法

    numpy的squeeze函數(shù)使用方法

    這篇文章主要介紹了numpy的squeeze函數(shù)使用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python創(chuàng)建屬于自己的單詞詞庫 便于背單詞

    python創(chuàng)建屬于自己的單詞詞庫 便于背單詞

    這篇文章主要為大家詳細介紹了python創(chuàng)建屬于自己的單詞詞庫,便于背單詞,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評論