Python【day 14-2】递归遍历文件夹
程序员文章站
2022-05-09 12:13:43
1 #需求 遍历文件夹中所有的子文件夹及子文件--用递归实现 2 3 '''''' 4 ''' 5 伪代码 6 1、遍历根目录--listdir for 7 得到第一级子文件夹(不包含子文件夹的子文件)和文件 8 2、判断是文件还是文件夹 9 如果是文件,就直接打印文件名 10 如果是文件夹(全路径... ......
1 #需求 遍历文件夹中所有的子文件夹及子文件--用递归实现 2 3 '''''' 4 ''' 5 伪代码 6 1、遍历根目录--listdir for 7 得到第一级子文件夹(不包含子文件夹的子文件)和文件 8 2、判断是文件还是文件夹 9 如果是文件,就直接打印文件名 10 如果是文件夹(全路径才行),就自己调用自己(递归) 11 12 步骤: 13 1、先实现功能 14 2、然后进行优化--每一级目录的缩进打印 15 ''' 16 import os 17 18 # path1 = r'd:\program\jetbrains\pycharmprojects\xq_py\全栈16\001' #绝对路径 19 path1 = r'..\001' #相对路径,..\表示当前目录的上一级目录 .\表示当前目录 #推荐 20 21 def for_file(path1,n): #参数1是文件夹路径的根目录,参数2是用于调整层级缩进的 22 li1 = os.listdir(path1) #1 列出根目录下第一层级的文件夹(不包含其子文件夹和子文件)和文件,返回列表 23 # print(li1) #['002', '003.py', '005.py', '__init__.py'] 24 for i in li1: # 2遍历循环列表,打印第一次层级的文件夹和文件 25 full_path1 = os.path.join(path1,i) #3 拼接第一层级的文件夹的全路径 26 # print(full_path1) 27 if os.path.isdir(full_path1): #4判断全路径是否是文件夹 28 print('\t'*n+i) # 4-2 全路径是文件夹的话,打印文件夹的名字(文件夹的名字打印不需要全路径) 29 for_file(full_path1,n+1) #自己调自己 #5全路径是文件夹的话,自己调用自己--递归 30 #把第一层级的文件夹当做根目录, 31 #注意:递归的时候,文件夹必须是全路径,而不能是文件夹名字 32 #参数2 n+1表示每次递归的时候,缩进都会增加1 33 else: #6 全路径不是文件夹的话,就是文件,打印文件的名字即可(文件的名字打印不需要全路径) 34 print('\t'*n+i) #6-2 '\t'表示tab制表符-4个空格的缩进 35 36 for_file(path1,1) #7 调用函数,参数1是文件夹根目录的全路径(可以是绝对路径,也可以是相对路径-推荐) 37 #参数2是用于调整层级缩进的 38 #根目录下的文件夹(包含其子文件夹和子文件)和文件的层级缩进图 39 # 002 40 # 003 41 # 004.py 42 # __init__.py 43 # 003.py 44 # __init__.py 45 # 003.py 46 # 005.py 47 # __init__.py
上一篇: pycharm_python_flask相关学习心得逐步更新
下一篇: linux安装图形化界面方法
推荐阅读
-
Python_WIN10系统中递归所有文件夹所有文件_移动所有文件到主目录(使用到的库:os + glob + shutil)
-
Python实现递归遍历文件夹并删除文件
-
Python遍历某目录下的所有文件夹与文件路径
-
python摸爬滚打之day14----内置函数,递归函数
-
对python遍历文件夹中的所有jpg文件的实例详解
-
Python【day 14-2】递归遍历文件夹
-
Node.js 使用递归实现遍历文件夹中所有文件
-
Python递归遍历列表及输出的实现方法
-
Python——day14 三目运算、推导式、递归、匿名、内置函数
-
使用python将歌词文件(.lrc文件)转换成字典及遍历获取文件夹内所有lrc文件并以lrc格式显示出来