`

Python 递归遍历目录结构

 
阅读更多

Python 递归遍历目录结构

 

Author:lvmingyan

Email:lvmingyan86@yeah.net

 

 

 

def list_dir(path, res):
    '''
        res = {'dir':'root', 'child_dirs' : [] , 'files' : []}
        print list_dir('/root', res)
    '''
    for i in os.listdir(path):
        temp_dir = os.path.join(path,i)
        if os.path.isdir(temp_dir):
            temp = {'dir':temp_dir, 'child_dirs' : [] , 'files' : []}
            res['child_dirs'].append(list_dir(temp_dir, temp))
        else:
            res['files'].append(i)
    return res

def get_config_dirs():
    res = {'dir':'root', 'child_dirs' : [] , 'files' : []}
    return list_dir('d:/root',res)
print get_config_dirs()
>>
{
    'files': [], 
    'child_dirs': 
        [
            {
                'files': [], 
                'child_dirs': 
                    [
                        {
                            'files': ['aa.txt'], 
                            'child_dirs': 
                                [
                                    {
                                        'files': [], 
                                        'child_dirs': [], 
                                        'dir': 'd:/root\\a\\aa\\aaa'
                                    }
                                ], 
                            'dir': 'd:/root\\a\\aa'
                        }
                    ], 
                'dir': 'd:/root\\a'}, 
            {
                'files': [], 
                'child_dirs': [], 
                'dir': 'd:/root\\b'
            }
        ], 
    'dir': 'd:/root'
}

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Python利用递归和walk()遍历目录文件的方法示例

    经常需要检查一个“目录或文件夹”内部有没有我们想要的文件或者文件夹,就需要我们循环迭代出所有文件和子文件夹,Python中遍历指定目录下所有的文件和文件夹,包含多级目录,有两种方法,一种是通过递归思想去遍历...

    filetree.py

    python 递归遍历文件夹得到json格式目录树目录结构,输出的json目录结构如下:[{"title":"file1","value":"file"},{"title":"general","value":"dir","subdir":[{"title":"file2","value":"file"},{"title":"photo",...

    Python 超详细算法与数据结构视频教程

    课程的目录结构如下,每一章都有配套的文字讲义(markdown),示例代码,视频讲解,详细的讲解一般会放在视频里,使用手写板来 进行板书,包括文字、图示、手动模拟算法过程等。 课程介绍 课程简介之笨方法学算法 ...

    python课堂笔记.zip

    目录 01概述及环境搭建 02基础语法(完整版) 02基础语法 Pyenv安装(可选择文字) Python环境安装 Windows安装Python3、IPython、Pycharm 练习参考 课堂练习 内置数据结构01list 内置数据结构01list习题 内置数据...

    BulkTFTP:CUCM批量TFTP上传

    CUCM批量TFTP上传该程序将递归遍历本地目录并上传所有文件,同时保持目录结构。 您可以在命令行中传递参数,也可以在脚本底部编辑sys.argv行。 安装Python 2.7并选择添加到路径的选项(默认情况下为关闭),然后...

    一种基于VB编程的配电网可靠性评估算法

    该算法首先通过对网络的分层处理,将其等效为树状目录结构,然后通过对此结构的递归遍历,计算网络中各等效节点的可靠性参数和配电网可靠性指标。该算法用VB 语言编程,并采用了可视化界面,使评估方法更加便捷,...

    像计算机科学家一样思考Python(第2版).pdf

    目录 · · · · · · 第1章 程序之道 1 1.1 什么是程序 1 1.2 运行Python 2 1.3 第一个程序 3 1.4 算术操作符 3 1.5 值和类型 4 1.6 形式语言和自然语言 5 1.7 调试 6 1.8 术语表 7 1.9 练习...

    modulesdb:本地文件系统观察程序通过 REST 端点自动将更改推送到 MarkLogic 模块数据库

    --walk将在启用长时间运行的目录观察器之前递归地遍历目录结构并推送所有内容。 每当收到更改事件并推送某些内容时,日志都应显示一条消息。 停止使用Ctl+c监听更改。 命令行使用 usage: loca

    java数据结构与算法第二版

    目录 出版说明 献词 简介 第1章 综述 数据结构和算法能起到什么作用? 数据结构的概述 算法的概述 一些定义 面向对象编程 软件工程 对于C++程序员的Java Java数据结构的类库 小结 问题 第2章 数组 Array...

    数据结构与算法分析_Java语言描述(第2版)

    目录: 译者序 前言 第1章 引论 1.1 本书讨论的内容 1.2 数学知识复习 1.2.1 指数 1.2.2 对数 1.2.3 级数 1.2.4 模运算 1.2.5 证明的方法 1.3 递归简论 1.4 实现泛型特性构件pre-Java5 1.4.1 使用Object表示泛型 ...

    python cookbook(第3版)

    4.1 手动遍历迭代器 4.2 代理迭代 4.3 使用生成器创建新的迭代模式 4.4 实现迭代器协议 4.5 反向迭代 4.6 带有外部状态的生成器函数 4.7 迭代器切片 4.8 跳过可迭代对象的开始部分 4.9 排列组合的迭代 ...

    [数据结构(C语言版)].严蔚敏_吴伟民.高清扫描版.rar

    目录: 第1章 绪论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表现与实现 1.4 算法和算法分析 第2章 线性表 2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 2.4 ...

    数据结构与算法分析

    图书目录 第1章 引论   1.1 本书讨论的内容   1.2 数学知识复习   1.2.1 指数   1.2.2 对数   1.2.3 级数   1.2.4 模运算   1.2.5 证明方法   1.3 递归的简单介绍   1.4 C++...

    forecast-io-ignition:Inductive Automation 的 Ignition 产品的forecast.io API 脚本

    预测-io-点火 Inductive Automation 的 Ignition SCADA 产品的 forecast.io API 脚本 概述 在有一个对的很好的介绍。 简而言之,它是一个简洁且非常复杂的短期天气预报站点、...从那里遍历目录,重新创建有效负载的结构

    网格最短leetcodePython-AlgorithmAnimation:基于Jupyternotebooks强大的表现能力,尝试使用自动生

    (二叉树、前序遍历、中序遍历、递归) (递归,8皇后) TODO [最小生成树问题] TODO [动态规划-钢条切割] TODO [动态规划-矩阵乘法] TODO 游戏相关 (广度优先搜索、BFS、A*算法、最短路径) (递归、套娃) (数字...

    疯狂JAVA讲义

    1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6 1.3.2 Java程序的运行机制和JVM 6 1.4 开发Java的准备 7 1.4.1 安装JDK 8 学生提问:不是说JVM是运行Java程序的虚拟机吗?那...

Global site tag (gtag.js) - Google Analytics