Python实现递归遍历文件夹并删除文件

请参考下方的攻略:

Python实现递归遍历文件夹并删除文件

在Python中实现递归遍历文件夹,可以使用os模块提供的os.walk()函数。该函数可遍历指定目录下的所有子目录,使用者可以在回调函数中进行相应的操作,例如删除文件。

os.walk()函数

os.walk()函数用于通过递归遍历文件夹获取目标目录下的所有子目录、文件名及文件夹名。其语法如下:

for root, dirs, files in os.walk(top, topdown=True, onerror=None, followlinks=False):
    #root:当前遍历的根目录
    #dirs:当前根目录下的子目录,列表形式
    #files:当前根目录下的文件,列表形式
    #top:要遍历的目标目录
    #topdown:定义遍历的顺序,为True时表示首先遍历top下的目录,后遍历其子目录;为False时相反
    #onerror:定义遍历过程中发生错误的处理方式
    #followlinks:定义是否要遍历符号链接指向的路径

实现递归遍历并删除文件的步骤

  1. 使用os.walk()函数获取目标目录下的所有子目录、文件名及文件夹名。
  2. 对于每个子目录及文件,判断是否是目标需要删除的文件,如果是,则删除。
  3. 对于每个子目录,在当前子目录中递归调用以上两个操作,直到遍历完所有文件夹及文件。

以下是一个示例:

import os

def remove_files_by_suffix(root, suffix):
    for dir_path, dir_names, file_names in os.walk(root):
        for file_name in file_names:
            if file_name.endswith('.' + suffix):
                file_path = os.path.join(dir_path, file_name)
                os.remove(file_path)
                print("文件已删除:", file_path)

        for dir_name in dir_names:
            remove_files_by_suffix(os.path.join(dir_path, dir_name), suffix)

以上示例中,remove_files_by_suffix函数接收两个参数,分别为根目录root和要删除文件的后缀名suffix,并按照以上步骤实现递归遍历及删除文件的操作。

remove_files_by_suffix("D:/test", "txt")

以上代码将会删除目标目录"D:/test"及其子目录中所有后缀名为"txt"的文件,执行结果将在控制台输出被删除的文件路径。

另一个示例

以下是一个更复杂的示例,它将递归删除指定后缀名的文件,在删除之前提示用户确认是否删除,保证操作的安全性。

import os

def remove_files_by_suffix(root, suffix):
    for dir_path, dir_names, file_names in os.walk(root):
        for file_name in file_names:
            if file_name.endswith('.' + suffix):
                file_path = os.path.join(dir_path, file_name)

                #确认用户是否需要删除该文件
                answer = input("确认删除文件%s吗?(y/n):" % file_path)
                if answer.lower() == 'y':
                    os.remove(file_path)
                    print("文件已删除:", file_path)
                else:
                    print("文件未删除:", file_path)

        for dir_name in dir_names:
            remove_files_by_suffix(os.path.join(dir_path, dir_name), suffix)

以上示例中,用户可通过输入y或n确认是否删除目标文件,防止误删重要文件。

总结

以上就是基于Python实现递归遍历文件夹并删除文件的攻略。使用os.walk()函数可以便捷地遍历目标目录下的所有文件和文件夹,通过递归及条件判断实现文件的删除操作,可根据需求进行相应的改动。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现递归遍历文件夹并删除文件 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python数据模型与Python对象模型的相关总结

    Python数据模型与Python对象模型的相关总结 简介 Python是一种语言,具有统一的数据模型,从而可以理清它如何构建和处理任何类型的对象。同时,Python还有一个Python对象模型,与语言的实现相关,它描述了Python对象在内存中的存储方式和相互之间的关系。 Python数据模型 Python数据模型定义了一个包含若干特殊方法的接口,在Pyt…

    python 2023年6月5日
    00
  • Python批量对word文档进行操作步骤

    针对“Python批量对word文档进行操作”的需求,可通过以下步骤实现: 1. 安装python-docx模块 python-docx模块是Python中用于处理Word文档的模块,需要先安装才能进行后续操作。 推荐使用pip来安装,具体命令如下: pip install python-docx 2. 导入python-docx模块 安装完成后,在Pyth…

    python 2023年5月31日
    00
  • Python如何发布程序的详细教程

    下面我将为您详细讲解一下 Python 如何发布程序的详细教程,包括以下几个步骤: 使用打包工具将 Python 代码打包成安装文件 编写安装脚本 测试安装文件并上传到 PyPI(Python Package Index) 安装并使用发布的 Python 程序 下面我们逐一进行详细阐述。 打包 Python 代码 Python 打包工具是将 Python 代…

    python 2023年5月30日
    00
  • Python标准库之time库的使用教程详解

    Python标准库之time库的使用教程详解 简介 time库是Python标准库中处理时间的模块。它包含了很多时间相关的函数,比如获取当前时间、将时间转换为字符串、线程休眠等。在实际开发过程中,我们经常会需要对时间进行操作,这时time库就是我们的好帮手了。 获取当前时间 我们可以使用time.time()函数获取当前时间戳,即从1970年1月1日起至今的…

    python 2023年5月13日
    00
  • Python读取多列数据以及用matplotlib制作图表方法实例

    以下是详细的Python读取多列数据以及用Matplotlib制作图表的完整实例教程。 1. 读取多列数据 在Python中,我们可以使用pandas库来读取多列数据,pandas是一个用于数据分析的强大工具,支持在Python中对各种结构化数据进行操作和分析。下面是一个读取多列数据的代码示例: import pandas as pd import matp…

    python 2023年5月13日
    00
  • Python学习笔记之视频人脸检测识别实例教程

    Python学习笔记之视频人脸检测识别实例教程攻略 一、前置知识准备 在学习本教程之前,你需要具备以下几个方面的基础知识: Python基础语法和控制流程; opencv-python的基本使用方法; 机器学习基础知识,包括特征提取、分类器等。 如果你还没有这些基础,建议先完成Python和机器学习的基础学习。 二、步骤详解 1. 数据集准备 我们需要使用L…

    python 2023年6月6日
    00
  • Python3自动签到 定时任务 判断节假日的实例

    Python3自动签到 定时任务 判断节假日的实例 本文将详细介绍如何使用Python3实现自动签到功能,同时通过定时任务及节假日API的调用,使其更具实用性。 一、准备工作 在开始编写自动签到脚本之前,我们需要先安装以下两个Python包: requests:用于发送HTTP请求,获取并处理网页内容; APScheduler:用于定时任务的调度。 这两个包…

    python 2023年6月2日
    00
  • python 操作 mongodb 数据库详情

    当我们使用 Python 进行开发时,经常会使用 MongoDB 这样的 NoSQL 数据库。下面是使用 Python 操作 MongoDB 的完整攻略: 安装 MongoDB 驱动程序 我们需要使用 PyMongo 驱动程序来操作 MongoDB。可以通过以下命令安装 PyMongo: pip install pymongo 连接到 MongoDB 使用 …

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部