微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python:创建压缩的tar文件以进行流式编写

如何解决Python:创建压缩的tar文件以进行流式编写

| 我需要生成tar.gzipped文本文件。有没有一种方法可以创建文件以进行连续写入(能够执行类似
compressedFile.write(\"some text\")
的操作),还是我需要首先创建一个原始文本文件并向后压缩? 这将是非常不幸的,因为该文件应该确实很长并且可压缩。     

解决方法

这是一个如何从Python脚本编写压缩的tarfile的示例:
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
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。