【发布时间】:2014-04-08 23:18:14
【问题描述】:
根据this FAQ on zlib.net 可以:
在压缩流中随机访问数据
我知道Biopyton 1.60的模块Bio.bgzf,其中:
支持读取和写入 BGZF 文件(Blocked GNU Zip Format),这是一种具有高效随机访问的 GZIP 变体,最常用作 BAM 文件格式和 tabix 的一部分。这在内部使用了 Python 的 zlib 库,并提供了类似于 Python 的 gzip 库的简单接口。
但对于我的用例,我不想使用那种格式。基本上我想要一些东西,它模拟下面的代码:
import gzip
large_integer_new_line_start = 10**9
with gzip.open('large_file.gz','rt') as f:
f.seek(large_integer_new_line_start)
但是通过本机 zlib.net 提供的效率来提供对压缩流的随机访问。如何利用 Python 中的随机访问功能?
【问题讨论】:
-
为什么不想使用 bgzip 压缩文件? bgzip 是有效的 gzip...
-
@wkretzsch 我确实想使用 bgzip。我在3年前问过这个问题,所以我不太记得细节了。可能我正在使用的文件是 gzip 压缩的,而不是 bgzip 压缩的。
标签: python indexing gzip random-access