如何使用Python GZip模块压缩文件夹?
我正在制作一个用Python编写的软件,用来压缩文件和文件夹……我想知道怎么写一段代码,让用户输入文件夹的位置,然后对这个文件夹进行压缩。目前我已经有了压缩单个文件的代码,但还没有处理一个装满文件的文件夹的代码。请详细解释一下该怎么做。
4 个回答
8
GZip 只对单个文件进行压缩,而不压缩文件夹或目录。如果你想压缩文件夹,可以使用 zipfile
这个模块。
11
我不做用户界面,所以获取用户输入的文件夹名称就靠你自己了。这里有一种方法可以创建一个gz压缩的tar文件。不过要注意,这个方法不会自动处理子文件夹,如果你想要处理子文件夹,可以使用像os.walk()这样的工具。
# assume the path to the folder to compress is in 'folder_path'
import tarfile
import os
with tarfile.open( folder_path + ".tgz", "w:gz" ) as tar:
for name in os.listdir( folder_path ):
tar.add(name)
29
把一个文件夹压缩成tar文件的代码是:
import tarfile
tar = tarfile.open("TarName.tar.gz", "w:gz")
tar.add("folder/location", arcname="TarName")
tar.close()
这个对我有效。希望对你也有用。