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

如何批量将指定目录下的图片文件存入Python字典?

批量将指定目录图片存入Python字典的可行方法

原代码问题分析

原代码存在几处关键错误导致无法正常运行:

  • 错误调用列表append方法:query = image.append()是错误写法,append是对列表对象调用的方法,无返回值,正确操作是query.append(image)
  • 未初始化frames列表:代码中直接对frames调用append,但未先将其定义为列表
  • 字典值不必要嵌套:[query]会把列表再包裹一层,直接使用query即可

基础实现(存储图片路径)

如果只需要存储图片文件的路径,最简洁的写法如下:

import glob

# 批量获取指定目录下的图片路径
query_paths = glob.glob('/content/drive/MyDrive/AI_FACIAL/QUERY/*.jpeg')
frame_paths = glob.glob('/content/drive/MyDrive/AI_FACIAL/frames/*.png')

# 构建目标字典
image_dict = {
    "Ali": query_paths,  # 存储person1的查询图片路径
    "Frames": frame_paths  # 存储提取的帧图片路径
}

glob.glob()会直接返回所有匹配指定模式的文件路径列表,无需手动循环追加,适合处理大量文件。

进阶实现(存储图片内容)

如果需要读取图片内容存入字典,可借助PIL库实现:

import glob
from PIL import Image

def load_images(path_pattern):
    image_list = []
    for path in glob.glob(path_pattern):
        try:
            # 打开图片并添加到列表
            img = Image.open(path)
            image_list.append(img)
        except Exception as e:
            # 捕获加载失败的异常,避免程序中断
            print(f"加载图片 {path} 失败: {str(e)}")
    return image_list

# 加载两类图片
query_images = load_images('/content/drive/MyDrive/AI_FACIAL/QUERY/*.jpeg')
frame_images = load_images('/content/drive/MyDrive/AI_FACIAL/frames/*.png')

# 构建存储图片内容的字典
image_dict = {
    "Ali": query_images,
    "Frames": frame_images
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 22:31:14