使用 Python 画目录树形图

习惯使用树形图使用来写项目文件的注释,但是每次敲又麻烦自己,于是根据百度搜到的代码再结合自己的需求(当初怎么找到的我真的忘了,作者看到了麻烦联系一下),完成了下面一个简单脚本。

先展示一下效果

import 一下必要的库
import os
import sys

根据目录建立列表

def DepthTraversal(nowDir, p):# 根据目录建立列表baseName = os.path.basename(nowDir)c = [baseName]p.append(c)ls = os.listdir(nowDir)for each in ls:nextPath = nowDir + os.sep + eachnextPath_basename = os.path.basename(nextPath)if os.path.isdir(nextPath):DepthTraversal(nextPath, c)else:nextPath_basename = os.path.basename(nextPath)p.append(nextPath_basename)

根据列表输出树形图

def tree(lst):# 树状图输出列表l = len(lst)if l == 0:print('─' * 3)else:for i, j in enumerate(lst):if i != 0:#f.write(tabs[0])print(tabs[0], end='')if l == 1:s = '─' * 3elif i == 0:s = '┬' + '─' * 2elif i + 1 == l:s = '└' + '─' * 2else:s = '├' + '─' * 2#f.write(s)print(s, end='')if isinstance(j, list) or isinstance(j, tuple):if i + 1 == l:tabs[0] += blank[0] * 3else:tabs[0] += '│' + blank[0] * 2tree(j)else:print(j)#f.write(j + "\n")tabs[0] = tabs[0][:-3]

下面是如何调用

这里采用了脚本参数来传递路径,取消注释部分可以同时把文件输出到文件 “out”。

if __name__ == '__main__':try:path = os.path.abspath(sys.argv[1])except IndexError:print("请赋予绝对路径参数")exit()#f = open("out", 'w')TreeList = []DepthTraversal(path, TreeList)blank = [chr(183)]  ##此处为空格格式;Windows控制台下可改为chr(12288) ;linux系统中可改为chr(32)【chr(32)==' ' ;chr(183)=='·' ;chr(12288)==' '】tabs = ['']tree(TreeList)

使用 Python 画目录树形图相关推荐

  1. python画蝴蝶_python画蝴蝶曲线图的实例

    蝴蝶曲线是由Temple H·Fay发现的可用极坐标函数表示的蝴蝶曲线. 由于此曲线优美, 因此就想把它作为博客favicon.ico,这里我使用pytho matplotlib.pyplot包来绘制 ...

  2. python画树叶-用python画树叶

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. draws a 叶子 and fill it. t.begin_fill ...

  3. python画函数曲线-python画蝴蝶曲线图的实例

    蝴蝶曲线是由Temple H・Fay发现的可用极坐标函数表示的蝴蝶曲线. 由于此曲线优美, 因此就想把它作为博客favicon.ico,这里我使用pytho matplotlib.pyplot包来绘制 ...

  4. python画交互式地图_使用Python构建交互式地图-入门指南

    python画交互式地图 Welcome to The Beginner's Guide to Building Interactive Maps in Python 欢迎使用Python构建交互式地 ...

  5. python 画蝴蝶_python画蝴蝶曲线图的实例

    蝴蝶曲线是由Temple H·Fay发现的可用极坐标函数表示的蝴蝶曲线. 由于此曲线优美, 因此就想把它作为博客favicon.ico,这里我使用pytho matplotlib.pyplot包来绘制 ...

  6. 用python画圣诞树-python圣诞树

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! import termcolorimport randomimport timei ...

  7. python画曲线图-python画蝴蝶曲线图的实例

    蝴蝶曲线是由Temple H・Fay发现的可用极坐标函数表示的蝴蝶曲线. 由于此曲线优美, 因此就想把它作为博客favicon.ico,这里我使用pytho matplotlib.pyplot包来绘制 ...

  8. Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔

    原创 Python--画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔) 2019-10-22 21:36:48 Soul fragments 阅读数 24878 文章标签: 樱花 python jav ...

  9. Cartopy画地图第七天(python画浮雕地图和比例尺)

    Cartopy画地图第七天(python画浮雕地图和比例尺) 本文利用了python.cartopy进行了浮雕地图的绘制,同时还画了比例尺. 先上图为敬,一些图例符号不对请不要介意,随便表示的 第一. ...

最新文章

  1. 优于人类参考摘要,适用CNN新闻,OpenAI用人类反馈提升了摘要生成质量
  2. php对帖子分类,php – 从WordPress中的自定义分类获取所有帖子
  3. sqlservier2005转成sqlserver2000中出现的问题(WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY])
  4. 大学python实训总结-【实训总结】大学生python相关实训总结
  5. 如何在Cloud for Customer overview UI上扩展新的按钮
  6. Android多线程之同步锁的使用
  7. 计算机考试上传照片教程,电脑照片传到iPhone手机的详细步骤【图文】
  8. TIM提示“个人文件夹被占用,请稍候再登录”怎么解决
  9. New module changes in Go 1.16
  10. c语言在单行文本上删除子串,一道比较简单的题——PTA基础编程题目集 7-29 删除字符串中的子串 C语言试解-Go语言中文社区...
  11. SAP License:雾里看花系列——SAP顾问应该脱离”保姆”的角色
  12. oracle本地安装注意事项
  13. sharepoint 2013/2010/2007 复制工具:SharePoint Content Deployment Wizard
  14. centos7下yum源安装saltstack
  15. Win10如何ping端口是否开放
  16. Spring Boot 项目集成Windows域账户认证
  17. 划重点!划重点!2022面试必刷461道大厂架构面试真题汇总+面经+简历模板
  18. 户外直播、慢直播、赛事直播等直播行业的未来发展趋势
  19. 深度学习和自然语言处理的应用
  20. 最大岛屿 计蒜客--T1405

热门文章

  1. 育碧服务器改系统时间,《刺客信条:英灵殿》育碧致歉PC取消成就系统 未来会重新恢复上线...
  2. 怎么让WORD中多行(常带下划线)头和尾都完全对齐
  3. PS两种照片效果处理效果:记忆深处和纪念币的制作
  4. oracle恢复主键丢失,案例:Oracle重建控制文件丢失undo异常恢复 ORA-01173模拟与恢复...
  5. flink cdc 连接posgresql 数据库相关问题整理
  6. Docker-Compose安装、卸载、使用详解
  7. 万字深度详解:企业的私域化玩法
  8. 超酷又简单!在视频中实现分身效果
  9. jieba 分词如何控制分词粒度
  10. C++调用Python实现可视化