重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文实例为大家分享了python树形打印目录结构的具体代码,供大家参考,具体内容如下
创新互联主营姑苏网站建设的网络公司,主营网站建设方案,成都app软件开发公司,姑苏h5小程序制作搭建,姑苏网站营销推广欢迎姑苏等地区企业咨询前言
这两天整理数据文件的时候发现,一层层的点击文件夹查看很繁琐,于是想写一个工具来递归打印出文件目录的树形结构,网上找了一些资料几乎都是使用的os.walk, 调试了以后发现返回的貌似的是一个“生成器”,只需要for循环即可,可是这样得到的好像是BFS的结构,并不是我想要的树形结构,最后终于发现了os.listdir这个函数,可是使用它来写一个深度优先搜索,只要递归调用就能解决我的问题。
代码
#!/usr/bin/env python3 # -*- coding: utf-8 -*- #a test for traverse directory __author__ = 'AlbertS' import os import os.path def dfs_showdir(path, depth): if depth == 0: print("root:[" + path + "]") for item in os.listdir(path): if '.git' not in item: print("| " * depth + "+--" + item) newitem = path +'/'+ item if os.path.isdir(newitem): dfs_showdir(newitem, depth +1) if __name__ == '__main__': dfs_showdir('.', 0)