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

如何使用glob从多文件夹中批量获取指定后缀的JPG文件?

解决glob仅返回单个JPG文件的问题

文件夹结构

Images
├─1.jpg
├─Yellow
│  ├─yellow1.jpg
│  ├─yellow2.jpg
│  └─yellow1.csv
├─Blue
│  └─blue1.jpg
├─Orange
└─Purple
   ├─purple1.jpg
   ├─purple2.jpg
   └─purple.csv

问题描述

需要从Images主目录及其子文件夹中获取所有JPG文件,使用以下代码仅返回最后一个文件['../../../../Images/purple2.jpg'],期望得到所有JPG文件路径列表:
['../../../../Images/yellow1.jpg','../../../../Images/yellow2.jpg','../../../../Images/blue1.jpg','../../../../Images/purple1.jpg','../../../../Images/purple2.jpg']

原代码:

import glob
input_dir=r'../../../../Images'
files=glob.glob(input_dir+"/**/*.jpg")

解决方案

问题出在glob.glob的**递归匹配默认未开启,必须添加recursive=True参数,才能让**模式递归遍历所有子文件夹。修正后的代码如下:

import glob
input_dir=r'../../../../Images'
files=glob.glob(input_dir+"/**/*.jpg", recursive=True)

执行后会返回所有符合条件的JPG文件路径,包含主目录下的1.jpg。如果需要排除主目录的JPG,只保留子文件夹中的文件,可以调整匹配模式:

files=glob.glob(input_dir+"/**/*/*.jpg", recursive=True)

这样就能得到你期望的仅包含子文件夹中JPG的路径列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 03:36:28