Python NumPy文件存取方法详解:tofile、save与savetxt

桃夭
桃夭
发布时间:2026-10-13| 6人浏览过
原创

本文详细介绍Python中NumPy库的文件存取功能,涵盖二进制与文本两种格式。重点解析tofile/fromfile、save/load/savez以及savetxt/loadtxt等核心函数的用法、参数设置及注意事项,帮助开发者高效处理数组数据的持久化存储与读取。

NumPy文件存取概述

NumPy库提供了丰富的文件操作函数,用于存取数组内容。保存数组数据的文件支持二进制格式和文本格式两种类型。其中,二进制格式进一步细分为NumPy专用的格式化二进制类型以及无格式类型。

tofile与fromfile用法

一、tofile()和fromfile()函数

  • tofile()函数负责将数组中的数据以二进制格式写入指定文件。
  • 需要注意的是,tofile()输出的数据不包含数组的形状信息和元素类型信息。
  • 使用fromfile()函数读取数据时,用户必须明确指定元素类型,并对数组形状进行适当调整,以还原原始数据结构。

通过上述示例可以看出,在读取数据时,必须正确设置dtype参数并修改数组的shape属性,才能获得与原始数据一致的结果。无论原始数据的内存排列顺序是C语言格式还是Fortran语言格式,tofile()统一采用C语言格式进行输出。此外,如果指定了sep参数,fromfile()和tofile()将切换为文本格式进行输入输出操作,此时sep参数用于指定文本数据中数值之间的分隔符。

save与load机制

二、save()和load()函数

1. NumPy专用的二进制格式保存数据时,系统会自动处理元素类型和形状等关键信息。 2. 若需将多个数组保存至同一文件中,可使用savez()函数。 3. savez()的第一个参数为文件名,后续参数均为需要保存的数组;也可通过关键字参数为数组指定名称。 4. 对于非关键字参数传递的数组,系统会自动分配名为arr_0、arr_1等的名称。 5. savez()生成的是扩展名为npz的压缩文件,其中包含每个由save()保存的npy文件,文件名与数组名保持一致。 6. load()函数能够自动识别npz文件,并返回一个类似字典的对象,用户可通过数组名作为键来获取对应的数组内容。

文本文件读写方法

三、savetxt()和loadtxt()函数

这两个函数主要用于读写一维和二维数组的文本文件,同时也适用于读写CSV格式的文本文件。

文件对象file

四、文件对象file

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。