将numpy数组保存为二进制文件

时间:2015-09-22 16:26:50

标签: python arrays numpy

我将我的numpy数组保存为np.save("image_mean.npy", averaged_mean)的二进制文件。当我打开文件时,将bianry文件的标题视为“NUMPY V {'descr': '<f8', 'fortran_order': False, 'shape': (3L, 704L, 1248L), }

我的查询是NUMPY V引用的内容? 如果我想要NUMPY F “NUMPY F {'descr': '<f8', 'fortran_order': False, 'shape': (3L, 704L, 1248L), },我该如何更改np.save API?

1 个答案:

答案 0 :(得分:3)

V是标题数据的长度(包括空格填充和终止换行符)。

the documentation -

中所述
  
      
  1. 前6个字节是魔术字符串:完全是“x93NUMPY”。

  2.   
  3. 下一个1字节是无符号字节:文件格式的主要版本号,例如X01。

  4.   
  5. 下一个1字节是无符号字节:文件格式的次要版本号,例如X00。注意:文件格式的版本与numpy软件包的版本无关。

  6.   
  7. 接下来的2个字节构成一个小尾数无符号短整数:标题数据HEADER_LEN的长度。

  8.   
  9. 下一个HEADER_LEN字节构成描述数组格式的标题数据。它是一个ASCII字符串,包含字典的Python文字表达式。 以换行符('n')结尾并用空格('x20')填充,以使魔术弦+ 4 + HEADER_LEN的总长度可以被16整除,以便进行对齐。 < / p>

  10.   

示例中的标题数据的长度(包括单个换行符)为71。这使得magic_string + 4 + HEADER_LEN等于81,它不能被16整除,所以下一个可分数是96,因此标题数据用15个空格填充,这样总长度就等于{{1 }。这使得标题长度为 - 96。这是86

V