python 批量解压压缩包

本文介绍了一种使用Python解压tar.gz文件的方法,通过定义一个名为Extract的函数,接收待解压文件路径和目标目录作为参数,实现了解压文件并处理异常的功能。主要代码展示了如何使用tarfile模块打开并解压文件。
import tarfile
import os

def Extract(inpath, outpath):
    """
    :param inpath: 待解压文件
    :param outpath: 解压存放目录,(一般 inpath与outpath为同一个文件名)
    :return: None or 打印提示解压完成
    """

    tarHandle = tarfile.open(inpath, "r:gz")
    try:
        tarHandle.extractall(outpath) # main code
        tarHandle.close()
        print("successful extract file  {}".format(inpath))
    except:
        print("failed extract file  {}".format(inpath))
def main():
    inpath = '.\conpressed_files' 
    outpath = inpath
    Extract(inpath, outpath)
if __name__ == '__main__':
    main()
批量解压zip文件,Python提供了很多的库,括zipfile、shutil和os等。下面我介绍一下使用这些库完成批量解压任务的步骤。 1. 导入库 首先需要导入zipfile、os和shutil三个库。zipfile库提供了解压的方法,可以很方便地进行解压操作;os库提供了文件操作的方法,可以获取文件路径和创建文件夹等操作;shutil库提供了复制和移动文件等操作。 ``` import zipfile import os import shutil ``` 2. 定义解压函数 接下来我们需要定义一个函数来完成解压任务。这个函数接收一个zip文件路径和解压路径作为参数。 ``` def unzip_file(zip_path, unzip_path): # 打开zip文件 zip_file = zipfile.ZipFile(zip_path) # 创建解压文件夹 os.makedirs(unzip_path, exist_ok=True) # 遍历压缩包中的文件列表 for names in zip_file.namelist(): # 获取文件的绝对路径 zip_file.extract(names, unzip_path) # 关闭zip文件 zip_file.close() ``` 3. 循环处理zip文件 最后,我们需要使用os库来遍历指定目录下的zip文件。根据文件后缀名为.zip的特征,我们可以使用字符串的.endswith()方法来判断。 ``` # 指定文件夹路径 path = 'path/to/zipfiles' # 循环处理zip文件 for file in os.listdir(path): # 判断文件后缀是否为.zip if file.endswith('.zip'): # 拼接文件路径 file_path = os.path.join(path, file) # 定义解压后的文件夹路径 unzip_path = os.path.join(path, file[:-4]) # 调用函数解压文件 unzip_file(file_path, unzip_path) ``` 这样就完成了批量解压zip文件的任务。大家可以根据自己的需要,对函数进行修改和优化,实现更加灵活和高效的解压方式。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值