我需要生成tar.gzipped文本文件。有没有办法为常量写入创建文件(能够执行compressedFile.write("some text")
之类的操作),或者我是否需要先创建原始文本文件,然后将其压缩?
这将是非常不幸的,因为文件应该非常长并且可以很好地压缩。
答案 0 :(得分:5)
以下是如何从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