Python脚本向Metashape Chunk添加指定文件失败,求错误排查与正确代码
Metashape脚本添加照片不显示的问题修复
问题原因
你的代码错误在于手动创建Metashape.Photo对象并调用open()方法的方式不符合Metashape API的预期用法。chunk.addPhotos()方法直接接收照片路径列表即可,不需要手动实例化Photo对象,这种手动创建的方式无法正确将照片关联到Chunk中。
修正后的代码
import Metashape import os doc = Metashape.Document() photo_folder = os.path.expanduser("~/Desktop/dronepics") chunk = doc.addChunk() # 收集所有符合格式的照片路径 photo_paths = [] for filename in os.listdir(photo_folder): if filename.lower().endswith((".jpg", ".jpeg")): # 小写匹配避免大小写问题 photo_path = os.path.join(photo_folder, filename) photo_paths.append(photo_path) # 一次性添加所有照片到Chunk if photo_paths: chunk.addPhotos(photo_paths) # 保存项目 doc.save(os.path.expanduser("~/Desktop/çıktı/proje.psx"))
额外优化说明
- 使用
filename.lower()统一转小写,避免因文件名大小写(如.JPG)导致的匹配遗漏 - 先收集所有路径再一次性调用
addPhotos(),比循环中多次调用更高效,也符合Metashape API的推荐用法 - 添加了
if photo_paths:判断,避免在没有找到照片时执行无效的添加操作
内容的提问来源于stack exchange,提问作者Berke Unan
相关产品推荐
相关产品推荐

