【文件解压】使用python在Windows下实现

使用 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)

 

posted @ 2022-01-27 11:44  Bro_Li  阅读(311)  评论(0编辑  收藏  举报