如何在Blender视频编辑器(VSE)中获取图像序列源文件名?
获取Blender VSE中图像序列片段的文件路径
在Blender视频编辑器(VSE)中,图像序列片段的文件路径无法直接通过filepath属性获取——因为它是由多张图片组成的集合,需要通过访问序列的elements属性提取单张图片的文件名,再结合directory属性拼接完整路径。
修改后的完整代码
import bpy for seq in bpy.context.sequences: sAbsolute_name = "" if seq.type == "MOVIE": sAbsolute_name = bpy.path.abspath(seq.filepath) elif seq.type == "SOUND": sAbsolute_name = bpy.path.abspath(seq.sound.filepath) elif seq.type == "IMAGE": # 提取序列中所有图像的文件名 image_filenames = [elem.filename for elem in seq.elements] # 以第一张图像的绝对路径为例(如需全部路径可遍历列表) if image_filenames: sAbsolute_name = bpy.path.abspath(seq.directory + image_filenames[0]) # 若需获取所有图像的绝对路径,可使用以下列表推导式 # all_absolute_paths = [bpy.path.abspath(seq.directory + fname) for fname in image_filenames] # 输出结果 print(sAbsolute_name)
关键说明
seq.elements:存储图像序列中每一张图片的元素集合,每个元素的filename属性对应单张图片的文件名seq.directory:图像序列所在的目录路径(相对于Blender工程文件的路径)bpy.path.abspath():将Blender的相对路径转换为系统可识别的绝对路径
内容的提问来源于stack exchange,提问作者Victor
相关产品推荐
相关产品推荐

