在不知道结构的情况下用python读取二进制文件

福尔摩斯

我有一个包含 8000 个粒子位置的二进制文件。我知道每个粒子值应该看起来像“-24.6151 ...”(我不知道我的程序给出的值的精度是多少。我猜它是双精度(?)。

但是当我尝试使用此代码读取文件时:

In: with open('.//results0epsilon/energybinary/energy_00004.dat', 'br') as f:
    buffer = f.read()
    print ("Lenght of buffer is %d" % len(buffer))

    for i in buffer:
        print(int(i))

我得到作为输出:

Lenght of buffer is 64000

10

168

179

43
...

我跳过了整个值列表,但正如您所看到的,这些值与我期望的相差甚远。我想我有某种解码错误。

我将不胜感激任何形式的帮助:)

让-弗朗索瓦·法布尔

您现在正在打印的是bytes组合您的浮点数据。所以它作为数值没有意义。

当然,由于我们没有看到您的数据,因此没有 100% 确定的答案,但我会尝试猜测:

您有 8000 个值要读取,文件大小为 64000。所以您可能有doubleIEEE 值(每个值 8 个字节)。如果它不是IEEE,那么你就是干杯。

在这种情况下,您可以尝试以下操作:

import struct
with open('.//results0epsilon/energybinary/energy_00004.dat', 'br') as f:
    buffer = f.read()
    print ("Length of buffer is %d" % len(buffer))

    data = struct.unpack("=8000d",buffer)

如果数据是伪造的,则可能是字节序问题。所以更改=8000by<8000>8000

参考和打包/解包格式:https : //docs.python.org/3/library/struct.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从二进制文件读取多个结构

来自分类Dev

在不知道xml文件结构的情况下解析xml文件内容

来自分类Dev

读取结构化二进制文件c ++

来自分类Dev

在不调试信息的情况下构建Go二进制文件

来自分类Dev

在启用自动刷新的情况下运行perl二进制文件

来自分类Dev

在不知道结构的情况下解组嵌套的json

来自分类Dev

在不知道其名称的情况下,逐行读取bash中的txt文件

来自分类Dev

如何在不知道其长度的情况下从文件中读取2D数组?

来自分类Dev

用Ruby读取不同大小的二进制文件

来自分类Dev

在不知道编码的情况下使用Python读取文件

来自分类Dev

bash-在不创建文件的情况下哈希变量的二进制内容

来自分类Dev

在不知道路径的情况下用Java写入属性文件

来自分类Dev

如何在没有阻塞循环的情况下读取节点js中的大型二进制文件?

来自分类Dev

用R读取二进制文件

来自分类Dev

用二进制文件填充结构

来自分类Dev

如何从二进制文件读取多个结构

来自分类Dev

如何在不确认的情况下减少打开的二进制文件?

来自分类Dev

Haskell:用二进制懒惰地读取二进制文件

来自分类Dev

在没有sudo的情况下运行root拥有的二进制文件

来自分类Dev

PHP-事先不知道文件夹名称的情况下读取它们

来自分类Dev

在没有setuid的情况下临时运行setuid二进制文件?

来自分类Dev

我们可以在不使用fopen的情况下用C打开二进制文件吗?

来自分类Dev

在不知道其名称的情况下,逐行读取bash中的txt文件

来自分类Dev

在知道格式和维度的同时使用 python 读取二进制文件

来自分类Dev

无法从二进制文件中读取结构

来自分类Dev

在不知道类型的情况下从文件中读取

来自分类Dev

在不知道文件名的情况下使用 Javascript Fetch API 读取文件

来自分类Dev

如何在不知道其大小且无需多次读取的情况下从文件加载矩阵?

来自分类Dev

Python 和 Pandas - 在不知道文件名的情况下读取目录中唯一的 CSV 文件

Related 相关文章

  1. 1

    如何从二进制文件读取多个结构

  2. 2

    在不知道xml文件结构的情况下解析xml文件内容

  3. 3

    读取结构化二进制文件c ++

  4. 4

    在不调试信息的情况下构建Go二进制文件

  5. 5

    在启用自动刷新的情况下运行perl二进制文件

  6. 6

    在不知道结构的情况下解组嵌套的json

  7. 7

    在不知道其名称的情况下,逐行读取bash中的txt文件

  8. 8

    如何在不知道其长度的情况下从文件中读取2D数组?

  9. 9

    用Ruby读取不同大小的二进制文件

  10. 10

    在不知道编码的情况下使用Python读取文件

  11. 11

    bash-在不创建文件的情况下哈希变量的二进制内容

  12. 12

    在不知道路径的情况下用Java写入属性文件

  13. 13

    如何在没有阻塞循环的情况下读取节点js中的大型二进制文件?

  14. 14

    用R读取二进制文件

  15. 15

    用二进制文件填充结构

  16. 16

    如何从二进制文件读取多个结构

  17. 17

    如何在不确认的情况下减少打开的二进制文件?

  18. 18

    Haskell:用二进制懒惰地读取二进制文件

  19. 19

    在没有sudo的情况下运行root拥有的二进制文件

  20. 20

    PHP-事先不知道文件夹名称的情况下读取它们

  21. 21

    在没有setuid的情况下临时运行setuid二进制文件?

  22. 22

    我们可以在不使用fopen的情况下用C打开二进制文件吗?

  23. 23

    在不知道其名称的情况下,逐行读取bash中的txt文件

  24. 24

    在知道格式和维度的同时使用 python 读取二进制文件

  25. 25

    无法从二进制文件中读取结构

  26. 26

    在不知道类型的情况下从文件中读取

  27. 27

    在不知道文件名的情况下使用 Javascript Fetch API 读取文件

  28. 28

    如何在不知道其大小且无需多次读取的情况下从文件加载矩阵?

  29. 29

    Python 和 Pandas - 在不知道文件名的情况下读取目录中唯一的 CSV 文件

热门标签

归档