如何在 Python 中压缩已处理的文本文件?
How to compress a processed text file in Python?
我有一个文本文件,我不断地向其追加数据。处理完成后,我需要 gzip 文件。我尝试了几个选项,例如 shutil.make_archive
、tarfile
、gzip
,但最终无法做到。有没有简单的方法可以在不实际写入文件的情况下压缩文件?
假设我有 mydata.txt 文件,我希望将其压缩并保存为 mydata.txt.gz.
如果你想压缩一个文件而不写入它,你可以 运行 一个 shell 命令,例如 gzip
使用 Python 库 subprocess
或 popen
或 os.system
.
我没有看到问题。你应该能够使用例如gzip module 很好,像这样:
inf = open("mydata.txt", "rb")
outf = gzip.open("file.txt.gz", "wb")
outf.write(inf.read())
outf.close()
inf.close()
文件被覆盖没有问题,给gzip.open()
的名字完全独立于给普通open()
的名字。
我有一个文本文件,我不断地向其追加数据。处理完成后,我需要 gzip 文件。我尝试了几个选项,例如 shutil.make_archive
、tarfile
、gzip
,但最终无法做到。有没有简单的方法可以在不实际写入文件的情况下压缩文件?
假设我有 mydata.txt 文件,我希望将其压缩并保存为 mydata.txt.gz.
如果你想压缩一个文件而不写入它,你可以 运行 一个 shell 命令,例如 gzip
使用 Python 库 subprocess
或 popen
或 os.system
.
我没有看到问题。你应该能够使用例如gzip module 很好,像这样:
inf = open("mydata.txt", "rb")
outf = gzip.open("file.txt.gz", "wb")
outf.write(inf.read())
outf.close()
inf.close()
文件被覆盖没有问题,给gzip.open()
的名字完全独立于给普通open()
的名字。