Python:创建用于流式写入的压缩 tar 文件

发布于 2024-11-01 19:32:39 字数 174 浏览 1 评论 0原文

我需要生成 tar.gzipped 文本文件。有没有办法创建一个用于持续写入的文件(以便能够执行诸如 compressedFile.write("some text") 之类的操作),或者我需要先创建一个原始文本文件,并且之后压缩吗?

这将是非常不幸的,因为文件应该非常长并且可以很好地压缩。

I need to produce the tar.gzipped text file. Is there a way to create a file for constant writing (to be able to do something like compressedFile.write("some text")), or do I need to create a raw text file first, and compress it aftewards?

This will be quite unfortunate, as the file should be really long and well compressable.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

洛阳烟雨空心柳 2024-11-08 19:32:39

以下是如何从 Python 脚本编写压缩 tar 文件的示例:

import StringIO
import tarfile

tar = tarfile.open('example.tar.gz', 'w:gz')

# create a file record
data = StringIO.StringIO('this is some text')
info = tar.tarinfo()
info.name = 'foo.txt'
info.uname = 'pat'
info.gname = 'users'
info.size = data.len

# add the file to the tar and close it
tar.addfile(info, data)
tar.close()

结果:

% tar tvf example.tar.gz
-rw-r--r--  0 pat    users       17 Dec 31  1969 foo.txt

Here's an example of how to write a compressed tarfile from a Python script:

import StringIO
import tarfile

tar = tarfile.open('example.tar.gz', 'w:gz')

# create a file record
data = StringIO.StringIO('this is some text')
info = tar.tarinfo()
info.name = 'foo.txt'
info.uname = 'pat'
info.gname = 'users'
info.size = data.len

# add the file to the tar and close it
tar.addfile(info, data)
tar.close()

Result:

% tar tvf example.tar.gz
-rw-r--r--  0 pat    users       17 Dec 31  1969 foo.txt
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文