如何在 glob() 模式中编写“或”?

alz*_*i36 16 python glob

glob.glob()不使用正则表达式。它使用 Unix 路径扩展规则。我如何在 glob 中模拟这个正则表达式:

".*.jpg|.*.png"
Run Code Online (Sandbox Code Playgroud)

U10*_*ard 11

好吧,glob你应该这样做:

lst = glob.glob('*.jpg') + glob.glob('*.png')
Run Code Online (Sandbox Code Playgroud)


bac*_*113 8

@U12-Forward 是正确的,没有确切的解决方案,但根据您的用例,您可能可以使用通配符来解决它[...]。对于您的示例,您可以使用以下命令.png.jpg

.*.[jp]*
Run Code Online (Sandbox Code Playgroud)

它将匹配任何以 aj 或 p 开头的扩展名

如果您有其他以 j 或 p 开头的扩展名,您可以更具体:

.*.[jp][pn]g
Run Code Online (Sandbox Code Playgroud)