Python .tar和.zip文件批量解压

该代码实现了解压zip文件和提取tar.gz文件的功能。它遍历指定目录下的所有zip文件,并调用unzip_file函数进行解压。对于tar.gz文件,使用untar_file函数进行提取。主要涉及的库有zipfile和tarfile,以及os模块进行路径操作。
摘要由CSDN通过智能技术生成
import zipfile
import tarfile
import os


def unzip_file(zip_file_name, destination_path):
    archive = zipfile.ZipFile(zip_file_name, mode='r')
    for file in archive.namelist():
        archive.extract(file, destination_path)
#解压缩模块
def untar_file(file_name, dest_file_path):
    tar = tarfile.open(file_name)
    #更改新创建的文件夹的名字
    if file_name.find(".tar.gz")!=-1:
        file_name=file_name.replace(".tar.gz", "")
    else:
        pass
    print(file_name)

    if os.path.isdir(file_name):
        pass
    else:
        pass
        #os.mkdir(file_dir+"\\"+file_name)
    names = tar.getnames()
    #循环解压缩,将压缩文件中的所有文件解压缩
    for name in names:
        print(name)
        print(dest_file_path)
        tar.extract(name, dest_file_path)
    return



def zipfile_name(file_dir):
    # 读取文件夹下面的文件名.zip
    L=[]
    for root, dirs, files in os.walk(file_dir):
       for file in files:
           L.append(file)
               #print(L)
    return L

def main():
    src = "/media/cynthia/Elements/DATASET/data_aishell/wav"  # zip file 的路径
    dest = "/media/cynthia/Elements/DATASET/data_aishell/wav_unzip"  # 解压到路径bar下
    fn=zipfile_name(src)
    for file in fn:
        # unzip_file(file, dest)
        src_file = src + "/" + file
        if file.find(".tar.gz") != -1:
            untar_file(src_file, dest)
if __name__ == "__main__":
    main()
    print("done")





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cynthia.Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值