gpt4 book ai didi

python - 压缩存档,可快速访问单个文件

转载 作者:行者123 更新时间:2023-12-05 04:19:01 27 4
gpt4 key购买 nike

我需要为我正在编写的新应用程序提出一种文件格式。该文件将需要保存一堆其他文本文件,这些文件主要是文本,但也可以是其他格式。自然地,压缩的 tar 文件似乎符合要求。问题是我希望能够非常快速地从文件中检索一些数据,而从 tar.gz 文件中获取特定文件似乎花费的时间比应该的要长。我假设这是因为它必须解压缩整个文件,即使我只想要一个文件。当我只有一个常规的未压缩 tar 文件时,我可以非常快速地获取该数据。比方说我需要的文件叫做 data.dat

例如命令...

tar -x data.dat -zf myfile.tar.gz

...花费的时间比我想要的要长得多。

MP3 文件有 id3 数据,jpeg 文件有 exif 数据,无需打开整个文件即可快速读取。我希望我的 data.dat 文件以类似的方式可用。

我在想我可以不压缩它并将其与 myfile.tar.gz 中的其余文件分开然后我可以创建一个包含 data.dat 和 myfile.tar.gz 的 tar 文件,然后希望能够更快地检索数据,因为它位于外部 tar 文件的头部并且未压缩。

这听起来对吗?...将压缩的 tar 文件放入 tar 文件中?

基本上,我的需求是拥有一种可以快速访问特定文件的归档类型文件。Tar 做得很好,但我也想压缩该数据,一旦这样做,我就无法再快速访问。是否有其他存档格式可以让我快速访问所需的内容?

附带说明一下,此应用程序将使用 Python 编写。如果解决方案需要用我自己的二进制格式重新发明轮子,我熟悉 C 并且用 C 编写 Python 模块没有问题。理想情况下我只使用 tar、dd、cat、gzip 等.

谢谢,~埃里克

最佳答案

ZIP 似乎适合您的情况。文件是单独压缩的,这意味着您无需流式传输之前的所有内容即可访问它们。

在 Python 中,您可以使用 zipfile .

关于python - 压缩存档,可快速访问单个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3002196/

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