可以使用自带的库 shutil / zipfile
以下使用 shutil下的make_archive方法
make_archive('目标文件路径','压缩文件后缀','需要压缩的目录')
压缩后缀支持以下几种格式:
压缩后缀 实际压缩
zip zip
tar tar
gztar tar.gz
bztar tar.bz2
xztar tar.xz
import os
import shutil
def move_file(besave_dir, fm):
"""
将文件夹压缩成指定格式的压缩包
:param besave_dir: 压缩文件夹的目录 如 ---r"D:\save"
:param format: 压缩的格式:"zip", "tar", "gztar","bztar", "xztar"
:return:
"""
if os.path.exists(besave_dir):
zip_name = shutil.make_archive(besave_dir, f'{fm}', besave_dir)
print(zip_name) # 返回文件的最终路径
besave_dir = r"D:\save"
fm = "xztar"
move_file(besave_dir, fm)
# 文件夹下有文件和文件夹也可以压缩
make_archive('目标文件路径','压缩文件后缀','需要压缩的目录')
目标文件路径:可以修改保存路径和保存名称
--------------
1.make_archive( r"D:\save" , 'zip' , r"D:\save")
将d盘下的save文件压缩为save.zip并保存在d盘目录下
--------------
2.make_archive( r"D:\hello\world" , 'zip' , r"D:\save")
将d盘下的save文件压缩为world.zip并保存在d盘hello目录下,若hello目录不存会自动创建