返回顶部
首页 > 资讯 > 后端开发 > Python >使用python3怎么读取python2中的npy文件
  • 160
分享到

使用python3怎么读取python2中的npy文件

2023-06-14 08:06:31 160人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章给大家介绍使用python3怎么读取python2中的npy文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python3读取python2打包的npy文件会报错,原因是编码方式不同,所以只要在读取的时候加上

这篇文章给大家介绍使用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通过命令创建的np.save('filename')。这些文件是在外部计算机上生成的,该外部计算机是我们研究所的linux集群的一部分。

我将文件复制到本地计算机上,以便通过导入它们np.load('filename.npy')。在我的本地计算机上,我正在运行带有Jupyter-Notebook的Python 3.5.2和Numpy版本1.13.0。

本地操作系统ubuntu 16.04.2。

当我尝试在本地加载文件时,出现错误:

ValueError: invalid literal for int() with base 16

浏览了一些Stackoverflow问题后,我尝试使用以下方式指定编码:

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

这给出了相同的错误。encoding='bytes'产量:

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版本之间的转换时,编码有问题。关于如何导入文件的任何想法?

解决方案

如中所示,*。npy中数据的存储方式是什么?,.npy文件为字节码,如果您在十六进制编辑器中打开一个字节码,则会看到该文件。

Python 2字节码.pyc,.pyo文件无法在Python 3中运行,因为虚拟机和编译器内部版本已随主要版本更改。

同样,NumPy的C内部结构和字节码编译器在Python 3中也发生了变化,从而破坏了向后兼容性。(这是有意的,因为字节码并不是要持续那么长时间,或者不能与所创建的版本一起使用。)

这些变更的组成意味着,如果不对Python 3的字节码解释器和Python 3的NumPy进行大的更改,和/或从Python 2 NumPy字节码到Python 3的转译器,则无法使用这些Python 2 .npy文件。 Python 3。

正如我之前提到的,这有点像X / Y问题。您不应该依赖.npy文件在各个版本之间工作,因为不能保证它们会保持一致,因为它们本质上是易失性格式(例如Python VM字节码)。

关于使用python3怎么读取python2中的npy文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 使用python3怎么读取python2中的npy文件

本文链接: https://lsjlt.com/news/269287.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用python3怎么读取python2中的npy文件
    这篇文章给大家介绍使用python3怎么读取python2中的npy文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python3读取python2打包的npy文件会报错,原因是编码方式不同,所以只要在读取的时候加上...
    99+
    2023-06-14
  • python3 如何读取python2的npy文件
    python3读取python2打包的npy文件会报错,原因是编码方式不同,所以只要在读取的时候加上编码方式即可。 解决方法 docs_train = np.load('./da...
    99+
    2024-04-02
  • python怎么读取npy文件数据
    这篇文章主要介绍“python怎么读取npy文件数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python怎么读取npy文件数据”文章能帮助大家解决问题。注:.npy文件是numpy专用的二进制...
    99+
    2023-06-30
  • Python中如何读取npy、npz文件?
    npy以及npz这两种文件格式,是python第三方库numpy才能够保存和读取的文件类型,而也只有通过该库才有方法来完成读取保存操作。下面这篇文章所要介绍的内容就是,python读取和保存npy、npz文件的方法,想学习的小伙伴可以往下看...
    99+
    2023-09-07
    python numpy 开发语言
  • 使用python3怎么读取文件指定行
    使用python3怎么读取文件指定行?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。行遍历实现在python中如果要将一个文件完全加载到内存中,通过file.readlines(...
    99+
    2023-06-15
  • Python实现npy/mat文件的保存与读取
    目录1. npy文件2. mat文件补充读取mat文件并存为npy格式文件npy文件的读取很简单重新读取npy文件保存为mat文件除了常用的csv文件和excel文件之外,我们还可以...
    99+
    2024-04-02
  • python3 文件的读取和通用操作
    import os           # 当前操作目录,os.chdir() 切换操作目录 >>> import os >>> os.getcwd() 'C:\\ProgramFiles\\Pyth...
    99+
    2023-01-31
    操作 文件
  • 怎么使用filechannel读取文件
    要使用FileChannel读取文件,可以按照以下步骤进行操作: 打开一个文件Channel,可以使用FileInputStrea...
    99+
    2023-10-23
    filechannel
  • Python3读取文件的操作详解
    目录1、引言2、 fileinput2.1 方法介绍2.2 默认读取2.3 处理一个文件2.4 处理批量文件2.5 读取与备份2.5 重定向替换2.6 进阶3、总结1、引言 小鱼:小...
    99+
    2024-04-02
  • C++中怎么使用TinyXML读取xml文件
    这篇文章主要介绍了C++中怎么使用TinyXML读取xml文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++中怎么使用TinyXML读取xml文件文章都会有所收获,下面我们一起来看看吧。前言TinyXML...
    99+
    2023-07-02
  • 使用python怎么读取文件名
    这篇文章给大家介绍使用python怎么读取文件名,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、...
    99+
    2023-06-14
  • 使用python怎么读取txt文件
    这期内容当中小编将会给大家带来有关使用python怎么读取txt文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。(1)txt的切割读取对应内容   (2)时间差计算txt文...
    99+
    2023-06-14
  • 怎么使用J2SE读取Properties文件
    小编给大家分享一下怎么使用J2SE读取Properties文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用J2SE读取Properties文件的六种方式:1...
    99+
    2023-06-17
  • 怎么使用python open读取文件
    要使用Python的open函数来读取文件,你需要使用以下步骤:1. 打开文件:使用open函数打开文件,并传入文件路径和打开模式作...
    99+
    2023-09-14
    python
  • 怎么使用Python读取xml文件
    本篇内容介绍了“怎么使用Python读取xml文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 什么是xml?xml即可扩展标记语言,它可...
    99+
    2023-07-06
  • 使用Python怎么读取文件名中的数字
    这期内容当中小编将会给大家带来有关使用Python怎么读取文件名中的数字,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几...
    99+
    2023-06-14
  • C#中怎么读取文件夹中的文件
    本篇文章为大家展示了C#中怎么读取文件夹中的文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C#读取文件夹的操作是如何进行的呢?首先让我们来看啊可能:读出一个文件夹中的所有文件(文件数从0个到N多...
    99+
    2023-06-18
  • python怎么读取文件夹中的文件
    读取文件夹中的文件可以使用Python的os模块和glob模块。以下是两种常用的方法: 方法一:使用os模块的listdir函数 i...
    99+
    2024-02-29
    python
  • java中怎么使用resourcebundle读取指定文件
    在Java中,可以通过`ResourceBundle`类来读取指定的文件。首先,确保指定的文件为一个属性文件(即后缀名为`.prop...
    99+
    2023-09-28
    java
  • java中怎么使用read方法读取文件
    在Java中,可以使用java.io包中的File、FileReader和BufferedReader类来读取文件。以下是一个简单的...
    99+
    2023-08-12
    java read
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作