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

如何根据指定post_id输出对应命名规则的图片文件?

解决方案

可以通过两种方式实现只筛选以指定post_id开头的图片文件:

方法一:直接通过glob精准匹配(推荐)

利用glob的通配符特性,直接构造匹配规则,避免遍历所有文件后再筛选,效率更高:

import glob

def jpg():
    post_id = 69
    text = "Hello World"

    # 构造匹配模式:匹配photo文件夹下以post_id开头的jpg文件
    pics = glob.glob(f'photo//{post_id}_*.jpg')
    # 若需要兼容不带下划线的情况(比如69.jpg),可修改为:
    # pics = glob.glob(f'photo//{post_id}*.jpg')
    
    # 直接拼接列表,无需循环逐个追加
    photo = ','.join(pics)

    print(photo, text)

jpg()

方法二:遍历后筛选文件名

如果需要更灵活的判断逻辑,可先获取所有jpg文件,再筛选符合条件的文件:

import glob
import os

def jpg():
    post_id = 69
    text = "Hello World"
    post_id_str = str(post_id)

    pics = glob.glob(f'photo//*.jpg')
    # 筛选文件名以post_id字符串开头的文件
    filtered_pics = [pi for pi in pics if os.path.basename(pi).startswith(post_id_str)]
    
    photo = ','.join(filtered_pics)

    print(photo, text)

jpg()

关键说明:

  • 方法一通过glob通配符直接匹配,减少不必要的文件遍历,适合简单匹配场景;
  • 方法二借助os.path.basename提取文件名,再用startswith判断,适合需要额外逻辑处理的场景;
  • 注意要将post_id转为字符串,避免数字与字符串匹配的类型问题。

内容的提问来源于stack exchange,提问作者Александр Белых

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 15:39:15