【问题标题】:How to write "or" in a glob() pattern?如何在 glob() 模式中写“或”?
【发布时间】:2021-09-23 10:40:17
【问题描述】:

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

".*.jpg|.*.png"

【问题讨论】:

标签: python glob


【解决方案1】:

好吧,glob 你应该这样做:

lst = glob.glob('*.jpg') + glob.glob('*.png')

【讨论】:

  • 感谢您的回复。我实际上正在寻找一种更优雅的方式。如果我使用 pathlib 模块,这将如下所示,因为它的 glob() 方法返回一个生成器对象: lst = list(pathlib.Path.glob('.jpg')) + list(pathlib.Path.glob( '.png'))
  • @alzoubi36 是的,就是这样,不幸的是,没有更优雅的解决方案,如果你喜欢,请随时标记和投票:)
  • 我为这项工作投了赞成票,但我不会标记它,因为我知道这个解决方案。 @U12-转发
  • @alzoubi36 嗯,这是唯一的一个:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-06
  • 2014-08-20
  • 2011-01-16
相关资源
最近更新 更多