【发布时间】:2020-08-15 03:25:50
【问题描述】:
我正在尝试使用 glob 模式匹配具有给定扩展名的文件。 glob 函数(来自 glob 模块)有一个参数“recursive”,它似乎应该打开或关闭搜索子目录。但是,我一直无法构建一个 glob 模式,该模式仅在 recursive=False 时才会匹配当前目录中的某个类型的文件,如果 recursive=True 时也会匹配子目录中的文件。
folder='C:\\test'
glob(folder+'**.ext',recursive=True) #fails to find any files
glob(folder+'\\**.ext',recursive=True) #fails to search subfolders
glob(folder+'\\**',recursive=True) #fails to filter by type
glob(folder+'\\**\\*.ext',recursive=False) #searches subfolders when it shouldn't
glob(folder+'**\\*.ext',recursive=True) #fails to search subfolders
根据文档
"**" 将匹配任何文件和零个或多个目录
所以,我希望 ** 表现得像 * ,除了它也匹配斜杠。但是,它没有按预期工作(请参阅上面的前两个示例)。
为什么 ** 没有按预期工作,是否存在与某些文件类型匹配的模式,并且只能使用递归参数打开或关闭递归?
【问题讨论】:
标签: python recursion filesystems glob