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")
Python .tar和.zip文件批量解压
最新推荐文章于 2022-11-08 11:43:16 发布
该代码实现了解压zip文件和提取tar.gz文件的功能。它遍历指定目录下的所有zip文件,并调用unzip_file函数进行解压。对于tar.gz文件,使用untar_file函数进行提取。主要涉及的库有zipfile和tarfile,以及os模块进行路径操作。
摘要由CSDN通过智能技术生成