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

Python如何构造批量图片文件名列表供MoviePy接口调用

报错原因

你代码报错的核心问题有两点:

  • 列表的append是可调用方法,传参必须用圆括号(),你写的方括号[]是下标访问的语法,所以触发TypeError: 'builtin_function_or_method' object is not subscriptable错误
  • 200个文件不需要手动逐个追加,直接按命名规则批量生成列表即可,完全满足函数传参要求。
可直接运行的实现代码
import moviepy.video.io.ImageSequenceClip

# 批量生成 imgpy1.png 到 imgpy200.png 的有序文件名列表
image_files = [f"imgpy{i}.png" for i in range(1, 201)]
# 传入函数生成视频片段
clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(image_files, fps=20)

代码说明

  • 列表推导式会按顺序生成1到200编号的文件名,输出的image_files是标准Python字符串列表,和你手动写['imgpy1.png','imgpy2.png']的结构完全一致,能被视频处理函数正常识别
  • range(1, 201)的结束值写201是因为Python的range区间为左闭右开,要取到200就需要把结束值设为201
  • 注意核对文件名前缀,你之前的测试代码里混用了imgpy和imagepy两种前缀,要和本地实际存储的文件名完全匹配,否则会触发文件不存在错误。

如果要修正你之前写的手动追加写法,正确语法如下(仅作语法演示,200个文件不推荐这种写法):

flist = []
# 空列表不需要额外做map(str, flist)转换,本身就可以直接追加字符串
flist.append('imgpy1.png')
flist.append('imgpy2.png')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 04:27:26