python使用递归进行文件夹内容搜索
代码:
#encoding=utf-8
#递归打印所有的目录和文件
import os
allfiles=[]
def getAllFiles(path,level):
childFiles=os.listdir(path)#读出此路径下的文件
for file in childFiles:#遍历读出的文件
filepath=os.path.join(path,file)#将路径转换为绝对路径
if os.path.isdir(filepath):#判断该文件是否为文件夹,如果是文件夹,则递归加深一层
getAllFiles(filepath,level+1)#调用递归函数,层数加深一层
allfiles.append("\t"*level+filepath)#每层达到最深后,返回后将内容加入到列表中
getAllFiles("D:/QQMusicCache",0)
for f in reversed(allfiles):#递归最后语句执行顺序是颠倒的,最外一层最后被执行,resversed一下,便于观察
print(f)
import os
allfiles=[]
def getAllfile(path,deep):
childfile=os.listdir(path)
for file in childfile:
filepath=os.path.join(path,file)
if os.path.isdir(filepath):
getAllfile(filepath,level+1)
allfiles.append("\t"*level+filepath)
getAllfile(D:/,0)
for f in reversed(allfiles):
print(f)
该博客展示了如何使用Python的os模块递归地遍历文件夹及其子文件夹,列出所有路径。代码首先定义了一个名为getAllFiles的函数,接受路径和层级作为参数,通过os.listdir读取路径下的文件和子文件夹。如果遇到子文件夹,函数会递归调用自身,增加层级。遍历完成后,将每个文件路径以缩进表示其层级并添加到allfiles列表中。最后,使用reversed反转列表并打印所有文件路径。
3033

被折叠的 条评论
为什么被折叠?



