You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python glob模块匹配含指定数字列表元素的doc*.xml文件?

解决方案

方法1:生成精准匹配模式

为列表中的每个数字单独构建glob匹配规则,遍历收集所有符合条件的文件:

from pathlib import Path

pathPac = '/Users/noah/Data/Docs'
target_nums = ['2054', '3271', '8671', '273']

pathlist = []
for num in target_nums:
    pattern = f'**/doc{num}.xml'
    pathlist.extend(Path(pathPac).glob(pattern))

# 若需去重(多个模式意外匹配同一文件时可用)
pathlist = list(set(pathlist))

这种方式直接精准匹配目标文件,无需额外过滤逻辑,执行效率高。

方法2:先批量获取再筛选

先获取所有doc*.xml格式的文件,再从中筛选文件名包含目标数字的:

from pathlib import Path

pathPac = '/Users/noah/Data/Docs'
target_nums = ['2054', '3271', '8671', '273']

all_candidates = Path(pathPac).glob('**/doc*.xml')
pathlist = [file for file in all_candidates if any(num in file.name for num in target_nums)]

这种方式更灵活,比如后续需要调整匹配规则(比如数字出现在文件名其他位置),只需修改筛选条件即可。

内容的提问来源于stack exchange,提问作者noahjb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 09:55:19