gpt4 book ai didi

linux - 将包含整数计数的 gzip 二进制文件反卷积为人类可读的数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:21 24 4
gpt4 key购买 nike

我需要将包含整数计数的 gzip 二进制文件解码为人类可读的数字,以便我可以汇总它们(fx 平均值、中位数等)。

可以找到其中一个文件的示例 here (572 字节)

根据official documentation它应该包含 1001 个整数计数(表示片段长度分布)编码为“带符号的 32 位整数(具有机器 native 字节序”)- 有人可以帮我提取它们吗。

最佳答案

使用 Python 2.7 读取文件并使用 numpy 计算均值和中位数:

import gzip
import os
import struct
import numpy as np

directory = '/path/to/file'
filename = 'fld.gz'
path = os.path.join(directory, filename)

counts = []
size = 4 # standard size for an int is 4, see:
# https://docs.python.org/2/library/struct.html#format-characters
with gzip.open(path, 'rb') as f:
byte = f.read(size)
while byte:

count, = struct.unpack('i', byte)
counts.append(count)

byte = f.read(size)


print len(counts) # prints indeed 1001

counts = np.array(counts)
print np.mean(counts)
print np.median(counts)

关于linux - 将包含整数计数的 gzip 二进制文件反卷积为人类可读的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47392523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com