IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python 使用递归删除文件夹的一些思考 -> 正文阅读

[Python知识库]Python 使用递归删除文件夹的一些思考

结论:使用递归时,递归会一层一层的进去,最后一个递归运行结束后,会一层一层的出来并且出来后会继续运行被递归分割的代码。

递归出来可以做什么:python使用 os 模块,删除非空目录,会抛出?OSError 异常,所以就需要将文件夹里的文件全部删除后,再删除目录。递归出来时,说明文件已经被删除,这已经是一个空目录。所以在递归出来时可以进行删除目录操作

演示代码:

@staticmethod
    def del_dir(dirPath):
        '''
        删除目录,需要用到递归,先删除目录里面的文件,把文件删除后,再删除空目录
        :param dirPath:
        :return:
        '''
        # 判断是否是目录
        if os.path.isdir(dirPath):
            # 拿到文件列表
            fileList = os.listdir(dirPath)
            # 如果文件列表不为空,进行进行遍历和删除操作
            if fileList:
                for file in fileList:
                    # 拼接路径
                    filePath = os.path.join(dirPath, file)
                    # 判断是否是文件,如果是,删除文件
                    if os.path.isfile(filePath):
                        os.remove(filePath)
                    # 判断是否是目录,如果是,进行递归
                    elif os.path.isdir(filePath):
                        print('{}:我进来了'.format(filePath))
                        Catalogue.del_dir(filePath)
                # ---- 递归结束后会执行以下代码 ----
                # 递归进去文件夹后还会再出来,出来时执行此代码
                os.rmdir(dirPath)
                print('{}:我出来了'.format(dirPath))
            else:
                # 如果目录为空,直接删除根目录
                os.rmdir(dirPath)
            # 判断是否是文件夹,如果是,那么说明删除失败,返回 False
            if os.path.isdir(dirPath):
                return False
            return True

?运行结果:

图解:

?

?

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:20:59  更:2021-10-28 12:22:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 3:41:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码