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

如何用Python垂直拼接250张PNG并填充文件路径列表list_im

填充目录下PNG文件路径到列表的方法

你可以用以下两种常用方式快速获取目录下所有PNG文件的完整路径,填充到list_im列表中:

方法一:使用glob模块(最简便)

glob模块专门用于文件路径匹配,一行代码就能搞定:

import glob
import os

# 替换为你的图片目录路径,当前目录直接写 '.' 即可
image_dir = "./your_png_folder"

# 获取目录下所有.png文件的完整路径
list_im = glob.glob(os.path.join(image_dir, "*.png"))
  • os.path.join用来拼接路径,避免Windows和Linux路径分隔符不兼容的问题
  • *.png会匹配所有后缀为.png的文件,大小写敏感,如需匹配PNG/PNg等格式,可改成*.[pP][nN][gG]

方法二:使用os模块手动过滤(更灵活)

如果需要额外过滤文件(比如排除子目录、只保留特定命名规则的文件),可以用os模块:

import os

image_dir = "./your_png_folder"
list_im = []

for file_name in os.listdir(image_dir):
    # 检查文件后缀是否为.png(转小写实现大小写不敏感匹配)
    if file_name.lower().endswith(".png"):
        full_path = os.path.join(image_dir, file_name)
        # 确保是文件而非子目录
        if os.path.isfile(full_path):
            list_im.append(full_path)

可选:按文件名排序

如果你的PNG文件是按顺序命名的(比如img_001.png、img_002.png),建议对列表排序,避免拼接顺序混乱:

# 方式1:使用第三方库natsort(推荐,支持自然排序)
import natsort
list_im = natsort.natsorted(list_im)

# 方式2:手动提取文件名中的数字排序(无需额外安装库)
list_im.sort(key=lambda path: int(os.path.splitext(os.path.basename(path))[0].split("_")[-1]))

把上述代码替换你原代码中list_im = []的部分,就能正常读取所有PNG文件进行垂直拼接了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 22:54:54