python - 递归查找所有带有扩展名的文件
问题描述
我需要对一组 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,所以我想知道它可能有什么问题......知道吗?谢谢
解决方案
你忘记了/
,code
所以**
你有code**
而不是code/**
/
最后你需要
root_dir='/home/user/git/code/'
或在开头
'/**/*.xml'
或使用os.path.join()
代替+
os.path.join(root_dir, '**/*.xml')
推荐阅读
- excel - 在 Visual Basic 中将文件拆分为数组
- java - 将嵌套对象发送到 Jaspersoft iReport
- rxjs - 有没有办法使用 rxjs switchMap 或类似的,并可选择返回一个 observable
- angular - Angular 5:为什么在调试模式下没有出现“组件是 2 个模块声明的一部分”
- c# - C#动态方法:返回整数的字符串表示
- django - 使用 DRF 中的序列化器字段子集反序列化 POST 请求
- database - 埃菲尔:转义字符
- ios - 跨不同模拟器打印视图的 bounds.width 属性时的常量值 od 375
- selenium - 使用 PageFactory [Selenium] 指定超时
- laravel - 调用未定义的方法 stdClass::links()