python 的 glob 函数是否支持深度可变的通配符?

Abe*_*Abe 6 python glob wildcard

我正在编写一个使用这种笨拙的 glob 语法的 python 脚本。

import glob    
F = glob.glob('./www.dmoz.org/Science/Environment/index.html')
F += glob.glob('./www.dmoz.org/Science/Environment/*/index.html')
F += glob.glob('./www.dmoz.org/Science/Environment/*/*/index.html')
F += glob.glob('./www.dmoz.org/Science/Environment/*/*/*/index.html')
F += glob.glob('./www.dmoz.org/Science/Environment/*/*/*/*/index.html')
Run Code Online (Sandbox Code Playgroud)

似乎应该有一种方法来包装这是一行:

F = glob.glob('./www.dmoz.org/Science/Environment/[super_wildcard]/index.html')
Run Code Online (Sandbox Code Playgroud)

但我不知道合适的超级通配符是什么。这样的事情存在吗?

Mic*_*jer 4

抱歉 - 事实并非如此。您可能需要使用os.walk编写几行代码:

for root, dirs, files in os.walk('/starting/path/'):
    for myFile in files:
        if myFile == "index.html":
            print os.path.join(root, myFile)
Run Code Online (Sandbox Code Playgroud)