给定以下目录结构:
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
https://stackoverflow.com/revisions/49022163/1
确保您是在MyDir的父母中运行的,并且您的Python版本为3.5 。