簡體   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