import os import zipfile def zipDir(dirpath, outFullName): ''' 壓縮指定文件夾 :param dirpath: 目標文件夾路徑 :param outFullName: 壓縮文件保存路徑+XXXX.zip :return: 無 ''' zip = zipfile.ZipFile(outFullName, 'w', zipfile.ZIP_DEFLATED) for path, dirnames, filenames in os.walk(dirpath): # 去掉目標和路徑,只對目標文件夾下邊的文件及文件夾進行壓縮(包括父文件夾本身) this_path = os.path.abspath('.') fpath = path.replace(this_path, '') for filename in filenames: zip.write(os.path.join(path, filename), os.path.join(fpath, filename)) zip.close()