繁体   English   中英

Python将文本写入.tar.gz

[英]Python write text to .tar.gz

我希望用python直接在.tar.gz文件中编写一个文本文件(OnTheFly)。 最好的是像fobj = open (arg.file, "a")这样的解决方案来附加文本。

我想将此功能用于您不允许拆分的长日志文件。

提前致谢

是的,这是可能的,但很可能不是你想要使用它的方式。

.tar.gz实际上是两件事: gzgzip用于压缩,但是这个工具只能压缩单个文件 ,所以如果你想将多个文件压缩成压缩档案,你需要先加入这些文件。 这就是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM