python正则表达式os路径

Sim*_*eth 0 python regex operating-system path find

我试图找到遵循以下模式的目录以及驻留在其中的mbojava的任何实例:

/v/mybooks.com/ somethign不断更改/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
Run Code Online (Sandbox Code Playgroud)

结果:

当我确定知道有多个目录遵循上述模式时,我只得到一行.

Sna*_*fee 6

不要使用os/re.使用glob.glob作为执行此操作的方法.

import glob
paths = glob.glob(r'/v/mybooks.com/*/mbo[1-9]')
Run Code Online (Sandbox Code Playgroud)