Python怎么批量解压和压缩文件夹

发布时间:2022-04-06 10:37:26 作者:iii
来源:亿速云 阅读:734

Python怎么批量解压和压缩文件夹

在日常工作中,我们经常需要处理大量的压缩文件,例如解压多个ZIP文件或将多个文件夹压缩成一个ZIP文件。手动操作这些文件不仅耗时,还容易出错。幸运的是,Python提供了强大的库来帮助我们自动化这些任务。本文将介绍如何使用Python批量解压和压缩文件夹。

1. 批量解压文件夹

1.1 使用zipfile模块解压单个ZIP文件

Python的zipfile模块提供了处理ZIP文件的功能。我们可以使用它来解压单个ZIP文件。

import zipfile

def extract_zip(zip_path, extract_to):
    with zipfile.ZipFile(zip_path, 'r') as zip_ref:
        zip_ref.extractall(extract_to)

# 示例:解压单个ZIP文件
extract_zip('example.zip', 'extracted_files')

1.2 批量解压多个ZIP文件

要批量解压多个ZIP文件,我们可以遍历指定目录中的所有ZIP文件,并逐个解压。

import os
import zipfile

def batch_extract_zips(directory):
    for filename in os.listdir(directory):
        if filename.endswith('.zip'):
            zip_path = os.path.join(directory, filename)
            extract_to = os.path.join(directory, filename[:-4])  # 去掉.zip后缀
            os.makedirs(extract_to, exist_ok=True)
            with zipfile.ZipFile(zip_path, 'r') as zip_ref:
                zip_ref.extractall(extract_to)
            print(f'Extracted {filename} to {extract_to}')

# 示例:批量解压目录中的所有ZIP文件
batch_extract_zips('zip_files_directory')

2. 批量压缩文件夹

2.1 使用shutil模块压缩单个文件夹

Python的shutil模块提供了make_archive函数,可以用来压缩文件夹。

import shutil

def compress_folder(folder_path, output_path):
    shutil.make_archive(output_path, 'zip', folder_path)

# 示例:压缩单个文件夹
compress_folder('folder_to_compress', 'compressed_folder')

2.2 批量压缩多个文件夹

要批量压缩多个文件夹,我们可以遍历指定目录中的所有文件夹,并逐个压缩。

import os
import shutil

def batch_compress_folders(directory):
    for foldername in os.listdir(directory):
        folder_path = os.path.join(directory, foldername)
        if os.path.isdir(folder_path):
            output_path = os.path.join(directory, foldername)
            shutil.make_archive(output_path, 'zip', folder_path)
            print(f'Compressed {foldername} to {output_path}.zip')

# 示例:批量压缩目录中的所有文件夹
batch_compress_folders('folders_to_compress_directory')

3. 总结

通过使用Python的zipfileshutil模块,我们可以轻松地批量解压和压缩文件夹。这些方法不仅提高了工作效率,还减少了手动操作带来的错误风险。希望本文能帮助你更好地处理压缩文件任务。

推荐阅读:
  1. Centos压缩&解压
  2. python zipfile解压缩

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:基于C#怎么设计一个双色球选号工具

下一篇:OpenStack虚拟机快照和增量备份怎么实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》