我正在尝试查找遵循以下模式的目录以及位于其中的mbojava的任何实例:
/v/mybooks.com/ 不断变化的某些人 / mbo(有或没有进行'c [1-9]')/
我也希望避免使用点后面的名字,例如mbo而不是mbo.prev mboc3而不是mboc3.broken等
到目前为止,我有以下内容:
regex = re.compile("\/mbo(c[1-9])?\/"
mbojava = False
for root, dirs, names in os.walk("/v/mybooks.com/"):
if 'mbojava' in names and regex.search(root):
mbojava = os.path.join(root, 'mbojava')
print mbojava
结果:
当我确定有多个目录符合上述模式时,我只得到一行。
答案 0 :(得分:6)
不要使用os / re。使用glob.glob作为执行此操作的方法。
import glob
paths = glob.glob(r'/v/mybooks.com/*/mbo[1-9]')