谁能解释python中glob.glob()函数的含义?

时间:2019-03-20 11:12:41

标签: python glob

我尝试通过阅读文档来理解它,但是我仍然不了解recursive=True|False和为什么需要写'*'或'**'之间的区别在路径名中。

3 个答案:

答案 0 :(得分:1)

*是文件名的通配符,您可以转到\path\*检索path\path\*.txt中的所有项目以检索所有文本文件。您还可以为单个字符通配符使用?

如果recursive设置为true,则**充当递归指示符,如果您使用\path\**\test?.*,它将查找以test开头且具有在path的任何子文件夹内具有任意扩展名(例如test1,test2)之后的单个字符(由于**)。

答案 1 :(得分:0)

**recursive=True时具有递归目录匹配行为。

需要

recursive=True来切换 ON 模式。否则,**就是两个单独的*,每个匹配零个或多个字符。

直到最近glob模块还不支持递归匹配,并且那里有很多代码可能已在模式中使用**,因此Python核心开发人员不想破坏此类代码。

答案 2 :(得分:0)

如果路径名仅包含*,则递归无效。如果递归为False,则***相同。 仅当路径名包含**并且递归为True时,**才会匹配任何文件。