用于在 C/C++ 中读取/写入 .npy 和 .npz 文件的库
NumPy 提供了 save 方法,可方便地将数组保存为 .npy 文件,而 savez 则可将多个 .npy 数组合并成一个 .npz 文件。 cnpy 允许您在 C++ 中读取和写入这些格式。这种设计的动机来自于科学编程,其中大量数据在 C++ 中生成,并在 Python 中进行分析。 向 .npy 文件中写入具有以下优点:使用低级 C++ I/O (fread 和 fwrite) 来提高速度,并使用二进制格式来减小文件大小。 .npy 文件头负责指定数组的大小、形状和数据类型,因此不需要指定数据的格式。
加载以 numpy 格式写入的数据同样简单,但需要将加载的数据强制转换为您选择的类型。
读取数据的三个函数如下: - npy_load 会加载 .npy 文件。 - npz_load(fname) 会加载 .npz 文件,并返回一个包含 NpyArray 结构的字典。 - npz_load(fname, varname) 会加载并返回指定 .npz 文件中名为 varname 的 NpyArray。 加载的数据结构如下。 可以通过 data<T>() 方法访问数据,该方法返回指定类型(必须与数据的底层数据类型相匹配)的指针。 数组形状和字节大小从 npy 头中读取。
暂无开放 Issues,或尚未同步最近议题。