解压文件下下的子目录里的压缩文件(运行时只需要输入待解压文件夹的路径)

    技术2022-07-10  125

    #!/usr/bin/env python #! -*- coding:utf-8 -*- import zipfile import os import shutil def un_zip(file_name): """解压单个文件""" zip_file = zipfile.ZipFile(file_name) #读取zip文件 if os.path.isdir(file_name[:-4]): #判断是否存在文件夹,file_name[0:20]是为了方便我去掉日期和.zip的后缀 pass else: os.mkdir(file_name[:-4]) #创建文件夹 for names in zip_file.namelist(): #解压 zip_file.extract(names,file_name[:-4]) zip_file.close() #Conf = os.path.join(file_name[:-4], 'conf') # 删除配置文件,如不需要,可删除 #shutil.rmtree(Conf) if os.path.exists(file_name): #删除zip文件 os.remove(file_name) print(file_name[:-4],'解压成功') def un_zip_Tree(path): # 解压文件夹中的zip文件 if not os.path.exists(path): # 如果本地文件夹不存在,则创建它 os.makedirs(path) for file in os.listdir(path): #listdir()返回当前目录下清单列表 #print("ww",file) file = os.path.join(path, file) #print("rr",file) for sub_file in os.listdir(file): Local = os.path.join(file, sub_file) #os.path.join()用于拼接文件路径 print("Local",Local) if os.path.isdir(sub_file): # 判断是否是文件 if not os.path.exists(Local): #对于文件夹:如果本地不存在,就创建该文件夹 os.makedirs(Local) un_zip_Tree(path) else: # 是文件 if os.path.splitext(Local)[1] == '.zip': #os.path.splitext(Remote)[1]获取文件扩展名,判断是否为.zip文件 un_zip(Local) #解压文件 if __name__ == '__main__': local = input("please input the local path(eg.D:\\V1.6):") un_zip_Tree(local)
    Processed: 0.010, SQL: 9