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

Python如何读取任意文件夹内全部图片(无需统一文件名格式)

嘿,这个需求很实用呀!不用管文件名格式的话,有两种简单靠谱的方法可以实现,我给你详细说说~

方法一:用glob模块快速匹配图片

glob模块专门用来匹配文件路径,能直接根据后缀筛选图片,写法超简洁,不用手动遍历:

import glob
import os

# 替换成你的目标文件夹路径
PATH_TO_TEST_IMAGES_DIR = 'your_target_folder'
# 匹配常见图片格式,支持大小写(比如JPG、jpg、Png都能识别)
TEST_IMAGE_PATHS = []
# 逐个添加需要匹配的格式,可按需增减
TEST_IMAGE_PATHS += glob.glob(os.path.join(PATH_TO_TEST_IMAGES_DIR, '*.[Jj][Pp][Gg]'))
TEST_IMAGE_PATHS += glob.glob(os.path.join(PATH_TO_TEST_IMAGES_DIR, '*.[Pp][Nn][Gg]'))
TEST_IMAGE_PATHS += glob.glob(os.path.join(PATH_TO_TEST_IMAGES_DIR, '*.[Jj][Pp][Ee][Gg]'))

要是想更精简,也可以用正则风格的匹配一次性搞定:

TEST_IMAGE_PATHS = glob.glob(os.path.join(PATH_TO_TEST_IMAGES_DIR, '*.[JjPp][PpNn][GgEe]*'))
方法二:用os.listdir遍历+后缀筛选

这种方法更灵活,你可以自定义更多筛选规则(比如排除隐藏文件、过滤特定大小的文件等):

import os

PATH_TO_TEST_IMAGES_DIR = 'your_target_folder'
# 定义需要识别的图片后缀,可根据需求添加(比如.bmp、.gif)
IMAGE_EXTENSIONS = ('.jpg', '.jpeg', '.png')

TEST_IMAGE_PATHS = []
# 遍历文件夹内所有文件
for filename in os.listdir(PATH_TO_TEST_IMAGES_DIR):
    # 拼接完整路径,确保是文件不是子文件夹(可选,避免误读文件夹)
    file_path = os.path.join(PATH_TO_TEST_IMAGES_DIR, filename)
    if os.path.isfile(file_path) and filename.lower().endswith(IMAGE_EXTENSIONS):
        TEST_IMAGE_PATHS.append(file_path)

两种方法都能完美实现“不管文件名格式,读取所有图片”的需求,你可以根据自己的场景选~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:17:06