在不知道结构的情况下用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

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

用二进制文件填充结构

来自分类Dev

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

来自分类Dev

用R读取二进制文件

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

    用二进制文件填充结构

  28. 28

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

  29. 29

    用R读取二进制文件

热门标签

归档