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

如何在列表中获取file_id?遇'list' object has no attribute 'file_id'报错

解决办法:从图片列表中获取file_id

你遇到的'list' object has no attribute 'file_id'错误,本质是update.message.photo是列表类型(从你贴的JSON能看到photo用[]包裹,里面是单个图片对象),列表本身没有file_id属性,得从列表里的具体元素去取。

具体代码示例:

  • 取列表第一个图片的file_id(通常是最小分辨率的图):
file_id = update.message.photo[0].file_id
  • 取列表最后一个图片的file_id(通常是最大分辨率的图):
file_id = update.message.photo[-1].file_id

补充说明:

Telegram API返回的photo字段会包含多个不同尺寸的图片对象,每个对象都有独立的file_id、尺寸和文件大小,你可以根据需求选择对应索引的元素。

你提供的JSON数据结构(简化版):

{
  "update_id": 703304245,
  "message": {
    "photo": [
      {
        "width": 90,
        "height": 51,
        "file_id": "AgACAgQAAx0CU5MMFAACDgFj_wV1c6WOBWXU_GYGLwT9BV9cngACw7sxG93l-VMAAfavUwejsMMBAAMCAANzAAMuBA",
        "file_size": 1293,
        "file_unique_id": "AQADw7sxG93l-VN4"
      }
    ]
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 14:52:52