gpt4 book ai didi

python - 如何将压缩的二进制文件读取为 float 组

转载 作者:行者123 更新时间:2023-11-28 22:35:39 25 4
gpt4 key购买 nike

我需要读取一个压缩的未格式化二进制文件作为一个 float 数组。我发现这样做的唯一方法是使用 os 解压缩,使用 np.fromfile 读取它,然后再次压缩它。

os.system('gunzip filename.gz')
array = np.fromfile('filename','f4')
os.system('gzip filename')

但是,这是 Not Acceptable 。除了凌乱之外,我还需要在没有写权限的情况下读取文件。我知道 np.fromfile 不能直接读取压缩文件。我发现有人推荐我使用这个:

f=gzip.GzipFile('filename')
file_content = f.read()

但这会返回类似这样的内容:'\x00\x80\xe69\x00\x80\xd19\x00\x80'而不是一组 float 。有谁知道如何将此输出转换为 float 组,或者有更好的方法吗?

最佳答案

阅读文件内容后,您应该能够使用 numpy.fromstring 获取数组:

import gzip
import numpy as np

f=gzip.GzipFile('filename')
file_content = f.read()
array = np.fromstring(file_content, dtype='f4')

关于python - 如何将压缩的二进制文件读取为 float 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38064360/

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