尝试使用python递归遍历文件夹
for item in os.listdir(path):
print('in ' + os.path.join(path,item))
if item.upper() == dname.upper():
print('FOUND')
next = os.path.join(path,item)
return 1 + countDir(dname,next)
else:
try:
next = os.path.join(path,item)
countDir(dname,next)
except:
return 0
它停在for循环的第一项,我绞尽脑汁想弄清楚原因。你知道吗
我明白了
countDir('dir1','testThree')
in testThree\dir1
FOUND
in testThree\dir1\Dir1
FOUND
in testThree\dir1\Dir1\dirA
in testThree\dir1\Dir1\dirA\file.txt
in testThree\dir1\Dir1\prog.py
2
但在dir1之后还有2个目录应该进入。 包含两个以上的Dir1,所以我应该返回4而不是2。你知道吗
更新
你缺少一个关键的逻辑。除非目录条目对应于子目录,否则不要递归。这是一个适合我的版本。你知道吗
相关问题 更多 >
编程相关推荐