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

python3 如何讀取python2的npy文件

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

python3讀取python2打包的npy文件會(huì)報(bào)錯(cuò),原因是編碼方式不同,所以只要在讀取的時(shí)候加上編碼方式即可。

解決方法

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打包的。

補(bǔ)充:在Python 3中加載Python 2 .npy文件時(shí)出錯(cuò)

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

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

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

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

ValueError: invalid literal for int() with base 16

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

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

這給出了相同的錯(cuò)誤。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)換時(shí),編碼有問(wèn)題。關(guān)于如何導(dǎo)入文件的任何想法?

解決方案

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

Python 2字節(jié)碼.pyc,.pyo文件無(wú)法在Python 3中運(yùn)行,因?yàn)樘摂M機(jī)和編譯器內(nèi)部版本已隨主要版本更改。

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

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

正如我之前提到的,這有點(diǎn)像X / Y問(wèn)題。您不應(yīng)該依賴.npy文件在各個(gè)版本之間工作,因?yàn)椴荒鼙WC它們會(huì)保持一致,因?yàn)樗鼈儽举|(zhì)上是易失性格式(例如Python VM字節(jié)碼)。

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

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

相關(guān)文章

  • python粘包問(wèn)題及socket套接字編程詳解

    python粘包問(wèn)題及socket套接字編程詳解

    這篇文章主要介紹了python粘包問(wèn)題及socket套接字編程詳解,之所以出現(xiàn)粘包,是因?yàn)閮蓚€(gè)數(shù)據(jù)非常小,然后間隔時(shí)間又短,或數(shù)據(jù)太大,一次取不完,下一次還會(huì)取這個(gè)大數(shù)據(jù),需要的朋友可以參考下
    2019-06-06
  • Python爬取APP下載鏈接的實(shí)現(xiàn)方法

    Python爬取APP下載鏈接的實(shí)現(xiàn)方法

    這篇文章主要實(shí)現(xiàn)的是批量下載安卓APP。顯然用手點(diǎn)是不科學(xué)的。于是嘗試用Python寫(xiě)了一個(gè)半自動(dòng)化的腳本。所謂半自動(dòng)化,就是把下載鏈接批量抓取下來(lái),然后一起貼到迅雷里進(jìn)行下載,這樣可以快速批量下載。有需要的朋友們可以一起看看吧。
    2016-09-09
  • Python基本結(jié)構(gòu)之判斷語(yǔ)句的用法詳解

    Python基本結(jié)構(gòu)之判斷語(yǔ)句的用法詳解

    在程序的設(shè)計(jì)當(dāng)中,代碼并不是逐步按照順序進(jìn)行執(zhí)行的,在運(yùn)行到某一行代碼當(dāng)中,需要停下進(jìn)行判斷接下來(lái)將要運(yùn)行到那一個(gè)分支代碼,這種判斷就代表的是分支結(jié)構(gòu)。分支結(jié)構(gòu)是可以使用?if?語(yǔ)句來(lái)進(jìn)行判斷的,而我們本篇博客講的也是?if?語(yǔ)句,需要的可以了解一下
    2022-07-07
  • Python中的集合一起來(lái)學(xué)習(xí)一下

    Python中的集合一起來(lái)學(xué)習(xí)一下

    這篇文章主要為大家詳細(xì)介紹了Python集合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • Python基于機(jī)器學(xué)習(xí)方法實(shí)現(xiàn)的電影推薦系統(tǒng)實(shí)例詳解

    Python基于機(jī)器學(xué)習(xí)方法實(shí)現(xiàn)的電影推薦系統(tǒng)實(shí)例詳解

    這篇文章主要介紹了Python基于機(jī)器學(xué)習(xí)方法實(shí)現(xiàn)的電影推薦系統(tǒng),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • Python學(xué)習(xí)之Django的管理界面代碼示例

    Python學(xué)習(xí)之Django的管理界面代碼示例

    這篇文章主要介紹了Python學(xué)習(xí)之Django的管理界面代碼示例,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 使用python實(shí)現(xiàn)ANN

    使用python實(shí)現(xiàn)ANN

    這篇文章主要為大家詳細(xì)介紹了使用python實(shí)現(xiàn)ANN的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 使用Matplotlib創(chuàng)建自定義可視化圖表的方法小結(jié)

    使用Matplotlib創(chuàng)建自定義可視化圖表的方法小結(jié)

    Matplotlib 是 Python 中最流行的繪圖庫(kù)之一,它提供了豐富的功能和靈活性,使用戶能夠創(chuàng)建各種類型的可視化圖表,本文將介紹如何使用 Matplotlib 中的各種功能和技巧來(lái)創(chuàng)建自定義的可視化圖表,文中通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • Python實(shí)現(xiàn)超快窗口截圖功能詳解

    Python實(shí)現(xiàn)超快窗口截圖功能詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)超快窗口截圖功能,可以自動(dòng)獲取當(dāng)前活動(dòng)窗口并展示截圖,感興趣的可以了解一下
    2022-05-05
  • Python正則表達(dá)式急速入門(mén)(小結(jié))

    Python正則表達(dá)式急速入門(mén)(小結(jié))

    這篇文章主要介紹了Python正則表達(dá)式急速入門(mén)(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評(píng)論

文安县| 普兰县| 湖南省| 称多县| 乐业县| 吉安县| 宁都县| 兴仁县| 普定县| 洪雅县| 清远市| 临沭县| 贵州省| 郴州市| 三门县| 高平市| SHOW| 林州市| 班戈县| 清远市| 桃江县| 平舆县| 漯河市| 新邵县| 邳州市| 游戏| 卫辉市| 榆树市| 乐东| 宾川县| 彝良县| 于都县| 延庆县| 英山县| 青冈县| 连江县| 唐山市| 万山特区| 香港| 京山县| 庆元县|