[英]Python write text to .tar.gz
我希望用python直接在.tar.gz文件中编写一个文本文件(OnTheFly)。 最好的是像fobj = open (arg.file, "a")
这样的解决方案来附加文本。
我想将此功能用于您不允许拆分的长日志文件。
提前致谢
是的,这是可能的,但很可能不是你想要使用它的方式。
.tar.gz
实际上是两件事: gz
或gzip
用于压缩,但是这个工具只能压缩单个文件 ,所以如果你想将多个文件压缩成压缩档案,你需要先加入这些文件。 这就是tar
所做的,它需要多个文件并将它们连接到一个存档。
如果你有一个长日志文件,只需gzip
它会更容易。 为此,Python有gzip
模块,你可以直接写入压缩文件:
import gzip
with gzip.open('logfile.gz', 'a') as log:
# Needs to be a bytestring in Python 3
log.write(b"I'm a log message.\n")
如果你肯定需要写入tar
-archive,你可以使用Python的tarfile
模块。 但是,此模块不支持附加到文件(模式'a'
),因此tarfile可能不是日志记录的最佳解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.