繁体   English   中英

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

[英]Saving numpy array to a binary file

我将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中进行更改?

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

文档中所给-

  1. 前6个字节是魔术字符串:恰好是“ x93NUMPY”。

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

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

  4. 接下来的2个字节形成一个Little-endian无符号short int:标头数据HEADER_LEN的长度。

  5. 接下来的HEADER_LEN字节形成描述数组格式的头数据。 它是一个ASCII字符串,其中包含字典的Python文字表达。 它以换行符('n')终止,并用空格('x20')填充,以使魔术字符串+ 4 + HEADER_LEN的总长度被16整除,以用于对齐目的。

来自示例的标头数据的长度(包括一个换行符)为71。 这样就使magic_string + 4 + HEADER_LEN等于81 ,该magic_string + 4 + HEADER_LEN不能被16整除,因此下一个可整数字是96,因此标头数据填充了15个空格,因此总长度等于96 这使标头长度为86 V

>>> chr(86)
'V'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM