Python实现压缩文件批量解压、删除

目录

前言

一、压缩文件批量解压

1.需求目标

2.代码实现

二、文件批量删除

1.代码实现

总结


前言

        由于工作内容需要经常导入平台的一些数据情况,虽然不是计算机专业,在学习过程中接触过一些简单的编程知识,所以决定在闲余时间研究一下能不能通过程序的手段简化一些人工操作流程,在此过程中要感谢各位大佬们在博客上分享的经验,在不断借鉴后达到了自己想要的效果。下面总结了一些工作上经常需要用到的一些简单操作,不足的地方希望大家给出一些优化或者指导意见。

一、压缩文件批量解压

        在导出文件的时候,有时候往往会以一个压缩包的形式展现,若是单独一个还好,数量多了批量解压会对后续的操作增加麻烦程度,因此考虑用程序进行批量操作。

1.需求目标

        将目标文件夹内的压缩文件解压到需求文件夹。

Python实现压缩文件批量解压、删除_第1张图片

2.代码实现

代码如下:

import os
import zipfile# 设定要操作的文件夹路径
jieya='C:/Users/Administrator/Desktop/导入程序/解压/POP'#解压路径
jie='C:/Users/Administrator/Desktop/导入程序/京东/加购访客/POP'#解压文件保存的路径
# 遍历目录下的所有zip文件
for file_name in os.listdir(jieya):
    # 判断文件是否为zip文件
    if file_name.endswith(".zip"):
        # 拼接文件的完整路径
        file_path = os.path.join(jieya, file_name)
        # 打开zip文件
        with zipfile.ZipFile(file_path, "r") as zip_ref:
            # 解压缩全部文件到目标文件夹目录下
            zip_ref.extractall(jie)
jieya1='C:/Users/Administrator/Desktop/导入程序/解压/ZY'#解压路径
jie1='C:/Users/Administrator/Desktop/导入程序/京东/加购访客/ZY'#解压文件保存的路径
# 遍历目录下的所有zip文件
for file_name in os.listdir(jieya1):
    # 判断文件是否为zip文件
    if file_name.endswith(".zip"):
        # 拼接文件的完整路径
        file_path = os.path.join(jieya1, file_name)
        # 打开zip文件
        with zipfile.ZipFile(file_path,"r") as zip_ref:
            # 解压缩全部文件到目标文件夹目录下
            zip_ref.extractall(jie1)

二、文件批量删除

        在更新数据的时候,往往需要先删除文件夹中原有的数据,然后再把新文件放入文件夹,下面实现文件批量删除。

1.代码实现

代码如下:

import os
import zipfile
def delete_file(path):
    for i in os.listdir(path) :#当前目录的相对路径
        file_all = path + "\\" + i#当前文件夹的下面的绝对路径
        if os.path.isfile(file_all) == True:#判断是否为文件,如果是文件,就删除.如果是文件夹.递归给delete_file.
            os.remove(file_all)
        else:
            delete_file(file_all)
path = r"C:/Users/Administrator/Desktop/导入程序/ZY"
delete_file(path)
path1 = r"C:/Users/Administrator/Desktop/导入程序/POP"
delete_file(path1)

总结

        上面的内容讲了文件的解压与删除,实际操作中往往是联动操作的,因此将两个部分连接起来,便可完成先把解压目标路径内的文件删除,再将新压缩文件解压到目标路径的操作。

代码如下:

import os
import zipfile
def delete_file(path):
    for i in os.listdir(path) :#当前目录的相对路径
        file_all = path + "\\" + i#当前文件夹的下面的绝对路径
        if os.path.isfile(file_all) == True:#判断是否为文件,如果是文件,就删除.如果是文件夹.递归给delete_file.
            os.remove(file_all)
        else:
            delete_file(file_all)
path = r"C:/Users/Administrator/Desktop/导入程序/京东/加购访客/ZY"
delete_file(path)
path1 = r"C:/Users/Administrator/Desktop/导入程序/京东/加购访客/POP"
delete_file(path1)

# 设定要操作的文件夹路径
jieya='C:/Users/Administrator/Desktop/导入程序/解压/POP'#解压路径
jie='C:/Users/Administrator/Desktop/导入程序/京东/加购访客/POP'#解压文件保存的路径
# 遍历目录下的所有zip文件
for file_name in os.listdir(jieya):
    # 判断文件是否为zip文件
    if file_name.endswith(".zip"):
        # 拼接文件的完整路径
        file_path = os.path.join(jieya, file_name)
        # 打开zip文件
        with zipfile.ZipFile(file_path, "r") as zip_ref:
            # 解压缩全部文件到目标文件夹目录下
            zip_ref.extractall(jie)
jieya1='C:/Users/Administrator/Desktop/导入程序/解压/ZY'#解压路径
jie1='C:/Users/Administrator/Desktop/导入程序/京东/加购访客/ZY'#解压文件保存的路径
# 遍历目录下的所有zip文件
for file_name in os.listdir(jieya1):
    # 判断文件是否为zip文件
    if file_name.endswith(".zip"):
        # 拼接文件的完整路径
        file_path = os.path.join(jieya1, file_name)
        # 打开zip文件
        with zipfile.ZipFile(file_path,"r") as zip_ref:
            # 解压缩全部文件到目标文件夹目录下
            zip_ref.extractall(jie1)

你可能感兴趣的:(python,开发语言,conda)