我想寻找一种用Python直接在.tar.gz文件中编写文本文件(即时生成)的方法。最好的解决方案是像
我希望使用这个功能来处理不允许分割的长日志文件。
提前感谢您的帮助。
fobj = open (arg.file, "a")
这样的代码来追加文本内容。我希望使用这个功能来处理不允许分割的长日志文件。
提前感谢您的帮助。
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")
tarfile
模块。然而,该模块不支持向文件中添加内容(模式'a'
),因此tar文件可能不是记录日志的最佳解决方案。
tar.gz
不是文本文件。你想把.txt
文件放在.tar.gz
归档文件中吗? - Andersson