我有一个二进制文件,它是一个简单的带符号的 32 位 ieee754 浮点数列表。它们没有被任何东西隔开,只是一个接一个地出现,直到 EOF。
我如何从这个文件中读取并将它们正确解释为浮点数?
我尝试使用 read(4)
,但它会自动将它们转换为具有 ascii 编码的字符串。
我也试过使用 bytearray
但一次只接受 1 个字节,而不是我需要的一次 4 个字节。
原文由 Razor Storm 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个二进制文件,它是一个简单的带符号的 32 位 ieee754 浮点数列表。它们没有被任何东西隔开,只是一个接一个地出现,直到 EOF。
我如何从这个文件中读取并将它们正确解释为浮点数?
我尝试使用 read(4)
,但它会自动将它们转换为具有 ascii 编码的字符串。
我也试过使用 bytearray
但一次只接受 1 个字节,而不是我需要的一次 4 个字节。
原文由 Razor Storm 发布,翻译遵循 CC BY-SA 4.0 许可协议
看看 struct.unpack 。像下面这样的东西可能会起作用……
f = struct.unpack('f', data_read)
原文由 Andrew White 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
您也可以一次解压多个,这样会更快: