给定以下目录结构:
myDir
file1.c
file2.c
subDirA
file3.c
subDirB
file4.c
我想找到带有glob的*.c
文件,或者其他同样有效的方法(不使用其他地方记载的os.walk
方法)。
我遇到的问题是,给定路径myDir
我无法在一行代码中递归获取所有c
文件。
glob.glob('myDir/*.c', recursive=True)
只收益file1
和file2
。和
glob.glob('myDir/**/*.c', recursive=True
只收益file3
和file4
。
是否有一种很好的清洁方式将这两个语句合并为一个?肯定会有。
使用pathlib
:
from pathlib import Path
Path('/to/myDir').glob('**/*.c')
至于为什么glob不适合你:
glob.glob('myDir/**/*.c', recursive=True)
^
|___ you had a lower d here?
确保从myDir的父级中运行它,并且Python版本是3.5+。