使用 zipfile 的方式:
import os import zipfile # 解压数据集函数 def unzip_data(src_path, target_path): # 解压原始数据集,将src_path路径下的zip包解压至data/dataset目录下 if(not os.path.isdir(target_path)): z = zipfile.ZipFile(src_path, 'r') z.extractall(path=target_path) z.close() else: print("{} 文件, 已经完成解压".format(src_path)) # 相关路径 src_path = '/home/aistudio/data/data126813/8_JapanRoad_RDD200.zip' target_path = '/home/aistudio/mydata/JapanRoad/' unzip_data(src_path, target_path)
使用 tarfile 的方式:
# zipfile 不能解压 gz 文件 import tarfile # 解压数据集函数 def tar_unzip_data(src_path, target_path): # 解压原始数据集,将src_path路径下的zip包解压至data/dataset目录下 if(not os.path.isdir(target_path)): tar = tarfile.open(src_path, 'r') tar.extractall(target_path) tar.close() else: print("{} 文件, 已经完成解压".format(src_path)) root_path = '/home/aistudio/mydata/JapanRoad' files = os.listdir(root_path) for temp in files: if temp.split('.')[-1] == 'gz': src_path = os.path.join(root_path, temp) target_path = os.path.join(root_path, temp.split('.')[0]) tar_unzip_data(src_path, target_path) print('{} 文件, 已经完成解压。'.format(temp)) else: print('{} 文件, 不是压缩文件。'.format(temp)) path_1 = '/home/aistudio/mydata/JapanRoad/test1.tar.gz' path_2 = '/home/aistudio/mydata/JapanRoad/' # tar_unzip_data(src_path, target_path)