【问题标题】:How to work with regex in Pathlib correctly?如何正确使用 Pathlib 中的正则表达式?
【发布时间】:2022-01-07 21:04:33
【问题描述】:

我想查找所有图像并尝试使用 pathlib,但我的 reg 表达式不起作用。我哪里出错了?

from pathlib import Path
FILE_PATHS=list(Path('./photos/test').rglob('*.(jpe?g|png)'))
print(len(FILE_PATHS))
FILE_PATHS=list(Path('./photos/test').rglob('*.jpg'))#11104
print(len(FILE_PATHS))

0
11104

【问题讨论】:

  • 似乎您正在混合正则表达式和 glob 语法,rglob 函数需要一个 glob 选择器作为参数,而不是正则表达式

标签: python glob pathlib


【解决方案1】:

使用正则表达式获取文件列表

import re
p = Path('C:/Users/user/Pictures')
files = []
for x in p.iterdir(): 
    a = re.search('.*(jpe?g|png)',str(x))
    if a is not None:
        files.append(a.group())

【讨论】:

    猜你喜欢
    • 2017-12-22
    • 2020-10-29
    • 2021-03-15
    • 2018-12-03
    • 2017-11-23
    • 1970-01-01
    • 2023-01-23
    • 2010-10-03
    • 2020-12-14
    相关资源
    最近更新 更多