gpt4 book ai didi

python - Python中递归遍历所有目录,直到找到某个文件

转载 作者:行者123 更新时间:2023-11-30 22:49:11 24 4
gpt4 key购买 nike

Python 中递归遍历所有目录直到找到某个文件的最佳方法是什么?我想查看目录中的所有文件,看看我要查找的文件是否在该目录中。如果找不到它,我会转到父目录并重复该过程。我也想数数在找到该文件之前我浏览了多少个目录和文件。如果该处没有文件循环结束返回没有文件

startdir =“用户/..../file.txt”

findfile 是文件名。这是我当前的循环,但我想使用递归使其工作。

def walkfs(startdir, findfile):
curdir = startdir
dircnt = 0
filecnt = 0
for directory in startdir:
for file in directory:
curdir = file
if os.path.join(file)==findfile:
return (dircnt, filecnt, curdir)
else:
dircnt+=1
filecnt+=1

最佳答案

不要重新发明目录递归轮。只需使用 os.walk() function ,它为您提供了一个递归遍历目录的循环:

def walkfs(startdir, findfile):
dircount = 0
filecount = 0
for root, dirs, files in os.walk(startdir):
if findfile in files:
return dircount, filecount + files.index(findfile), os.path.join(root, findfile)
dircount += 1
filecount += len(files)
# nothing found, return None instead of a full path for the file
return dircount, filecount, None

关于python - Python中递归遍历所有目录,直到找到某个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39879638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com