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

Python Pathlib glob匹配异常:部分文件类型无法识别

问题原因及解决方法

你写的glob模式语法理解错了,核心问题出在方括号[]的用法:

  • 方括号[]在glob里是单字符匹配集合,比如[jpg]表示匹配j、p、g中的任意一个单个字符,不是匹配完整的.jpg后缀。
  • 你写的**/*.[jpg][jpeg][jfif][png]实际是在匹配:文件名加一个点后,从每个方括号里各取一个字符组成的后缀(比如.jjfp、pjig这类奇怪的组合),完全不是你想要的.jpg、.jpeg这类完整后缀,自然找不到对应文件。

正确写法

要匹配多组完整后缀,应该用**大括号{}**来做分组匹配,语法格式为**/*.{后缀1,后缀2,后缀3}:

from pathlib import Path

folder_path = "你的目标文件夹路径"
# 匹配jpg、jpeg、jfif、png、bmp类型文件
matched_files = list(Path(folder_path).glob('**/*.{jpg,jpeg,jfif,png,bmp}'))

大括号{a,b,c}的作用是匹配a、b、c中的任意一个完整字符串,刚好符合你多后缀匹配的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 05:30:47