今天学习os.path.isdir发现如下问题:
目录如下:
1.问题来源
def dir_L2(Dir,keyword):
for x in os.listdir(Dir):
if os.path.isdir(x):
nextDir=os.path.join(Dir,x)
dir_L2(nextDir,keyword)
else:
if keyword in x:
print(os.path.join(Dir,x).replace(os.getcwd(),'.'))
....
#当遍历到当前目录下第三层的文件夹FILE2(ROOT-FILE1-FILE2)时,os.path.isdir会返回False
#导致不遍历子文件中的所有文件
经过测试后修改如下
def dir_L2(Dir,keyword):
for x in os.listdir(Dir):
nextDir=os.path.join(Dir,x)
if os.path.isdir(nextDir):
dir_L2(nextDir,keyword)
else:
if keyword in x:
print(nextDir.replace(os.getcwd(),'.'))
....
#此时可成功判断