如何使用Python GZip模块压缩文件夹?

时间:2010-10-06 16:37:51

标签: python compression gzip tar

我正在创建压缩文件/文件夹的Python软件......我如何创建一段代码,要求用户输入文件夹位置然后压缩它。我目前有单个文件的代码,但不是一个文件夹。请详细说明如何执行此操作。

4 个答案:

答案 0 :(得分:14)

将文件夹压缩到tar文件的代码是:

import tarfile

tar = tarfile.open("TarName.tar.gz", "w:gz")
tar.add("folder/location", arcname="TarName")
tar.close()

它对我有用。希望对你也有用。

答案 1 :(得分:8)

GZip不会压缩文件夹/目录,只会压缩单个文件。请改用zipfile模块。

答案 2 :(得分:6)

我不做UI,因此您可以自己从用户那里获取文件夹名称。这是制作gz压缩tarfile的一种方法。它递归子文件夹,你需要像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)

答案 3 :(得分:0)

正如larsmans所说,gzip压缩不用于目录,只用于单个文件。使用linux的常用方法是先将目录放在tarball中然后压缩它。