繁体   English   中英

使用python在tar bz2文件中组织文件

[英]Organizing files in tar bz2 file with python

我有大约200,000个文本文件放在bz2文件中。 我遇到的问题是,当我扫描bz2文件以提取我需要的数据时,它变得非常慢。 它必须通过整个bz2文件来查看我正在寻找的单个文件。 反正有加速吗?

此外,我想可能在tar.bz2中组织文件,所以我可以让它知道在哪里看。 反正有组织放入bz2的文件吗?

更多信息/编辑:我需要查询每个文本文件的压缩文件。 是否有更好的压缩方法支持如此大量的文件并且完全压缩?

你必须使用bzip2吗? 阅读它的文档 ,很明显它不是为支持随机访问而设计的。 也许您应该使用更符合您要求的压缩格式。 好的旧Zip格式支持随机访问,但当然可能压缩得更厉害。

Bzip2以大块压缩(默认为900 KiB,我相信)。 一种可以显着加速tar文件扫描会降低压缩性能的方法是单独压缩每个文件,然后将结果一起tar。 这基本上是Zip格式文件(虽然使用zlib压缩而不是bzip2)。 但是,您可以轻松获取tar索引,只需要解压缩您正在寻找的特定文件。

我不认为大多数tar程序提供了以任何有意义的方式组织文件的能力,尽管你可以为你的特殊情况编写一个程序来执行此操作(我知道Python有tar编写库但我只使用过一次或者两次)。 但是,在找到所需内容之前,您仍然需要解压缩大部分数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM