首页 > 解决方案 > 递归查找所有带有扩展名的文件

问题描述


我需要对一组 XML 文件执行一些自动化操作。我只是在学习 Python,所以我查找了类似的 SO 答案并想出了这个:

root_dir='/home/user/git/code'
for filename in glob.iglob(root_dir + '**/*.xml', recursive=True):
    print(filename)

上面代码的问题是它只找到位于“/home/user/git/code”上的顶级 XML 文件,而不是所有嵌套在该文件夹下的 XML 文件。'recursive' 标志设置为 true,所以我想知道它可能有什么问题......知道吗?谢谢

标签: pythonpython-3.x

解决方案


你忘记了/code所以**你有code**而不是code/**

/最后你需要

 root_dir='/home/user/git/code/'

或在开头

'/**/*.xml'

或使用os.path.join()代替+

os.path.join(root_dir, '**/*.xml')

推荐阅读