Python中的Tarfile:我是否可以仅提取一些数据来更有效地解压缩?

Python中的Tarfile:我是否可以仅提取一些数据来更有效地解压缩?,第1张

Python中的Tarfile:我是否可以仅提取一些数据来更有效地解压缩

问题在于

tar
文件没有中央文件列表,但按顺序存储文件,并在每个文件之前带有标题。
tar
然后通过gzip将文件压缩以提供给您
tar.gz
。对于
tar
文件,如果不想提取某个文件,则只需跳过
header->size
存档中的下一个字节,然后读取下一个标头。如果归档文件被额外压缩,则您仍将不得不跳过那么多字节,不仅不是在归档文件内,而且还要在解压缩的数据流内对于某些压缩格式有效,而对于另一些格式,则需要跳过这两个字节之间的所有内容)。

gzip属于压缩方案的后一类。因此,尽管您通过不将不需要的文件写入磁盘节省了一些时间,但是您的代码仍将其解压缩。您可以通过重写非gzip存档的

_Stream
类来克服该问题,但是对于您的
gz
文件,您无能为力。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5601798.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存