从C ++读入npy文件

时间:2016-08-23 10:34:28

标签: python c++ numpy mmap

我试图直接在C ++中读取npy文件(numpys mmap格式),但遇到了一些困难。

该文件是使用numpy编写的,可以使用numpy轻松读回(因此它没有损坏或任何东西)。

我的第一次尝试是直接使用cnpy包(https://github.com/rogersce/cnpy),但这会引发有关文件头大小的断言错误。

有没有人有一个在numpy中创建npy文件并用C ++读取它的例子?

干杯, 千斤顶

1 个答案:

答案 0 :(得分:2)

我会根据Format Version 1.0 ------------------ The first 6 bytes are a magic string: exactly ``\\x93NUMPY``. The next 1 byte is an unsigned byte: the major version number of the file format, e.g. ``\\x01``. The next 1 byte is an unsigned byte: the minor version number of the file format, e.g. ``\\x00``. Note: the version of the file format is not tied to the version of the numpy package. The next 2 bytes form a little-endian unsigned short int: the length of the header data HEADER_LEN. 中的描述和C ++代码检查测试文件的前10个字节

b.classList.add('next'); a.classList.add('active-slide'); b.classList.add('next-slide'); 文件标题

的部分引用
b.classList.add('next');
a.classList.add('active-slide');
var f = b.offsetHeight;
b.classList.add('next-slide');

我还没有用另一种语言对此进行编码,但是为了想要在同一个文件中保存多个数组的SO,请查看标题。

loading arrays saved using numpy.save in append mode