python打印⽬录结构_Python实战笔记(⼀)递归输出⽬录结
构
废话不多说,直接上代码
import os
# 第⼀种⽅式
def recu_list_dirs_by_dictionary_order(path, indent = 0, maxi = -1):
'''
按字典序递归输出⽬录结构
:param path: str ⽂件路径
:param indent: int ⾸次缩进空格(默认为 0,⼀般不⽤改变)
:param maxi: int 最⼤展开层数(默认为 -1,表⽰全部展开)
'''
if maxi != 0:
try:
lsdir = os.listdir(path)
except PermissionError: # 对于权限不够的⽂件不作处理
pass
else:
for item in lsdir:
full_path = os.path.join(path, item)
elementor无法加载if os.path.isdir(full_path):
print(' ' * indent, '+', item)
recu_list_dirs_by_dictionary_order(full_path, indent + 4, maxi - 1)
if os.path.isfile(full_path):
print(' ' * indent, '-', item)
# 第⼆种⽅式
def recu_list_dirs_by_file_type(path, indent = 0, maxi = -1):
'''
按⽂件类型递归输出⽬录结构
:param path: str ⽂件路径
:param indent: int ⾸次缩进空格(默认为 0,⼀般不⽤改变)
:param maxi: int 最⼤展开层数(默认为 -1,表⽰全部展开)
'''
if maxi != 0:
try:
lsdir = os.listdir(path)
except PermissionError: # 对于权限不够的⽂件不作处理
pass
else:
dirs = [item for item in lsdir if os.path.isdir(os.path.join(path, item))] files = [item for item in lsdir if os.path.isfile(os.path.join(path, item))] for item in dirs:
print(' ' * indent, '+', item)
recu_list_dirs_by_file_type(os.path.join(path, item), indent + 4, maxi - 1) for item in files:
print(' ' * indent, '-', item)
if __name__ == '__main__':
python 全局变量
file_path = input('请输⼊路径:')
print('\n---按字典序递归输出⽬录结构---')
recu_list_dirs_by_dictionary_order(file_path, 0, 2)
print('\n---按⽂件类型递归输出⽬录结构---')
recu_list_dirs_by_file_type(file_path, 0, 2)
效果如下
请输⼊路径:D:\Blog\source
---按字典序递归输出⽬录结构---
+ about
+ index
- index.md
+ archives
+ index
- index.md
+ categories
+ index
- index.md
+ images
- avatar.jpg
+ tags
+ index
- index.md
+ _posts
移动端表单设计器+ Hexo系列(⼀) 搭建博客⽹站
- Hexo系列(⼀) 搭建博客⽹站.md
- Hexo系列(三) 常⽤命令详解.md
- Hexo系列(⼆) 配置⽂件详解.md
- Hexo系列(五) 撰写⽂章.md
- Hexo系列(四) NexT主题配置.md
- Linux学习笔记(⼀) ⽂件系统.md
- Linux学习笔记(七) 查询系统.md
- Linux学习笔记(⼆) ⽂件管理.md
- Linux学习笔记(五) 账号管理.md
-
Linux学习笔记(六) 进程管理.md
- Linux学习笔记(四) vi编辑器.md
- Liunx学习笔记(三) ⽂件权限.md
- Python学习笔记(⼀) 列表和元组.md
- Python学习笔记(七) 异常处理.md
- Python学习笔记(三) 字典.md
+ Python学习笔记(九) map、zip和filter函数
- Python学习笔记(九) map、zip和filter函数.md
- Python学习笔记(⼆) 字符串.md
- Python学习笔记(五) 类与对象.md
- Python学习笔记(⼋) ⽂件处理.md
-
Python学习笔记(六) 模块与包.md
- Python学习笔记(⼗) ⽣成器、迭代器和装饰器.md + Python学习笔记(四) 函数
- Python学习笔记(四) 函数.md
html5和css3实例教程- React学习笔记(⼀) ⼊门.md
- React学习笔记(七) React Router.md
- React学习笔记(三) 事件处理与表单元素.md
- React学习笔记(⼆) 组件.md
- React学习笔记(五) 状态提升.md
- React学习笔记(六) Create React App.md
- React学习笔记(四) 条件渲染与列表渲染.md - React学习笔记.md
- Vue学习笔记(⼀) ⼊门.md
-
Vue学习笔记(七) 组件.md
- Vue学习笔记(三) 计算属性和侦听属性.md - Vue学习笔记(九) Vue CLI.md
- Vue学习笔记(⼆) 模板语法.md
- Vue学习笔记(五) 样式绑定和事件处理.md - Vue学习笔记(⼋) 组件进阶.md
- Vue学习笔记(六) 表单输⼊绑定.md
- Vue学习笔记(⼗) Vue Router.md
- Vue学习笔记(⼗⼀) Vuex.md
- Vue学习笔记(⼗⼆) Vue Ajax.md
- Vue学习笔记(四) 条件渲染和列表渲染.md - Vue学习笔记.md
+ ⼩程序(⼀) ⼊门
- ⼩程序(⼀) ⼊门.md
-
效率系列(⼀) Chrome常⽤快捷键.md
+ 效率系列(三) Chrome实⽤插件
- 效率系列(三) Chrome实⽤插件.md
- 效率系列(⼆) Win10常⽤快捷键.md
- 效率系列(五) VScode常⽤快捷键.md
+ 效率系列(六) Chrome调试技巧
- 效率系列(六) Chrome调试技巧.md
命令行参数有什么用- 效率系列(四) VS常⽤快捷键.md
+ 爬⾍实战(⼀) ⽤Python爬取百度百科
- 爬⾍实战(⼀) ⽤Python爬取百度百科.md
+ 爬⾍实战(三) ⽤Python爬取拉勾⽹
-
爬⾍实战(三) ⽤Python爬取拉勾⽹.md
+ 爬⾍实战(⼆) ⽤Python爬取⽹易云歌单
- 爬⾍实战(⼆) ⽤Python爬取⽹易云歌单.md + 爬⾍系列(⼀) ⽹络爬⾍简介
- 爬⾍系列(⼀) ⽹络爬⾍简介.md
- 爬⾍系列(七) requests的基本使⽤.md
- 爬⾍系列(三) urllib的基本使⽤.md
- 爬⾍系列(九) xpath的基本使⽤.md
+ 爬⾍系列(⼆) Chrome抓包分析
- 爬⾍系列(⼆) Chrome抓包分析.md
- 爬⾍系列(五) re的基本使⽤.md
+ 爬⾍系列(⼋) ⽤requests实现天⽓查询
-
爬⾍系列(⼋) ⽤requests实现天⽓查询.md
+ 爬⾍系列(六) ⽤urllib和re爬取百度贴吧
- 爬⾍系列(六) ⽤urllib和re爬取百度贴吧.md
+ 爬⾍系列(⼗) ⽤requests和xpath爬取⾖瓣电影
- 爬⾍系列(⼗) ⽤requests和xpath爬取⾖瓣电影.md
+ 爬⾍系列(⼗⼀) ⽤requests和xpath爬取⾖瓣电影评论
- 爬⾍系列(⼗⼀) ⽤requests和xpath爬取⾖瓣电影评论.md + 爬⾍系列(⼗三) ⽤selenium爬取京东商品
- 爬⾍系列(⼗三) ⽤selenium爬取京东商品.md
- 爬⾍系列(⼗⼆) selenium的基本使⽤.md
+ 爬⾍系列(四) ⽤urllib实现英语翻译
- 爬⾍系列(四) ⽤urllib实现英语翻译.md
-
--按⽂件类型递归输出⽬录结构---
+ about
+ index
- index.md
+ archives
+ index
- index.md
+ categories
+ index
- index.md
京东python入门教程+ images
-
avatar.jpg
+ tags
+ index
- index.md
+ _posts
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论