gpt4 book ai didi

python - 为什么 tarfile 模块不允许压缩 append ?

转载 作者:行者123 更新时间:2023-12-01 01:37:20 24 4
gpt4 key购买 nike

没有直接的方法可以追加到压缩的 tar 存档中。作为documentation states :

Note that 'a:gz', 'a:bz2' or 'a:xz' is not possible.

作为解决方法,您可以使用未压缩的追加模式 'a',然后自己处理压缩和解压缩,或者您可以自己处理追加并使用压缩的读/写模式重新创建tar 存档。

我的问题是:为什么一定要这么复杂?您是否可以想到为什么开发人员决定不在代码中包含压缩 append 模式?

最佳答案

因为它很难,特别是如果您希望它在 append 小文件时仍然可以很好地压缩。

您可以查看gzlog了解如何有效地将小字符串 append 到 gzip 文件。它以未压缩的方式 append 它们,直到达到阈值,此时未压缩的数据将被压缩。每次追加后,您都会有一个有效的 gzip 文件。

要使用 tar 文件执行此操作,您还需要跟踪未压缩的 .tar 流中的终止 block 并覆盖它们,每次都 append 新的终止 block 。

这是可以做到的,但需要特别注意每种压缩数据格式才能正确完成。如果做得错误并且频繁使用,结果在时间和压缩率上都会非常低效。

关于python - 为什么 tarfile 模块不允许压缩 append ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52276027/

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