import glob
import os
import gzip
import tarfile
import zipfile
import rarfile
import time
path = r'/root/projects/TransT/data/TrackingNet/'
file_lst = glob.glob(path + '/*')
# filename_lst = [os.path.basename(i) for i in file_lst]
# def ungz(filename):
# filename = filename[:-3]
# gz_file = gzip.GzipFile(filename)
# with open(filename, "w+") as file:
# file.write(gz_file.read())
# return filename
# def untar(filename):
# tar = tarfile.open(filename)
# names = tar.getnames()
# if not os.path.isdir(filename + "_dir"):
# os.mkdir(filename + "_dir")
# for name in names:
# tar.extract(name, filename + "_dir/")
# tar.close()
# def unzip(filename):
# zip_file = zipfile.ZipFile(filename)
# # 类似tar解除打包,建立文件夹存放解压的多个文件
# if not os.path.isdir(filename + "_dir"):
# os.mkdir(filename + "_dir")
# for names in zip_file.namelist():
# zip_file.extract(names, filename + "_dir/")
# zip_file.close()
def unzip(file):
zip_file = zipfile.ZipFile(file)
# 类似tar解除打包,建立文件夹存放解压的多个文件
if not os.path.isdir(file):
filename = os.path.splitext(file)[0]
os.mkdir(filename)
for names in zip_file.namelist():
zip_file.extract(names, filename)
zip_file.close()
# def unrar(filename):
# rar = rarfile.RarFile(filename)
# if not os.path.isdir(filename + "_dir"):
# os.mkdir(filename + "_dir")
# os.chdir(filename + "_dir")
# rar.extractall()
# rar.close()
def unzip_files():
for file in file_final_lst :
if '.' in file:
suffix = file.split('.')[-1]
# if suffix == 'gz':
# new_filename = ungz(filename)
# os.remove(filename)
# if new_filename.split('.')[-1] == 'tar':
# untar(new_filename)
# os.remove(new_filename)
# if suffix == 'tar':
# untar(filename)
# os.remove(filename)
if suffix == 'zip':
unzip(file)
# if suffix == 'rar':
# unrar(filename)
# os.remove(filename)
for file_st in file_lst:
name11=file_st.split('/')[-1]
print(name11)
print(file_st)
file_final=os.path.join(file_st,name11,'zips')
file_final_lst = glob.glob(file_final + '/*')
unzip_files()
批量解压一个文件夹下的所有压缩包
最新推荐文章于 2024-04-28 23:40:15 发布