使用 python 将目录压缩为内存中的 tar.gz 文件
Compress directory into tar.gz file in memory with python
正在尝试将文件系统目录压缩为 tar.gz
文件并将其保存在内存中。为什么,因为我不想用临时文件污染文件系统。
我正在查看 tarfile
包,但我似乎没有完成:
import io
import tarfile
fo = io.BytesIO()
tar = tarfile.open(fileobj=fo, mode="w:gz")
tar.add(path)
似乎没有像我预期的那样工作...
通过这段代码解决了:
import io
import tarfile
path = "/tmp/foodir" # this is a directory
file_io = io.BytesIO()
with tarfile.open(fileobj=file_io, mode="w|gz") as tar:
arcname = os.path.basename(path). # keep path relative (optional)
tar.add(path, arcname=arcname)
file_io.seek(0)
正在尝试将文件系统目录压缩为 tar.gz
文件并将其保存在内存中。为什么,因为我不想用临时文件污染文件系统。
我正在查看 tarfile
包,但我似乎没有完成:
import io
import tarfile
fo = io.BytesIO()
tar = tarfile.open(fileobj=fo, mode="w:gz")
tar.add(path)
似乎没有像我预期的那样工作...
通过这段代码解决了:
import io
import tarfile
path = "/tmp/foodir" # this is a directory
file_io = io.BytesIO()
with tarfile.open(fileobj=file_io, mode="w|gz") as tar:
arcname = os.path.basename(path). # keep path relative (optional)
tar.add(path, arcname=arcname)
file_io.seek(0)