编写Blender脚本,我成功地执行bpy.ops.render.render(some_args)
但bpy.ops.render['render']
失败,BPyOpsSubMod对象不可订阅。这让我很困惑,因为我预计,同样在Javascript中,任何Python对象都是字典,我可以通过obj.member
或obj['member']
访问对象方法。当我想按名称引用它们时,如何解决非可订阅属性?
答案 0 :(得分:0)
并非每个对象都是字典。但大多数对象都有字典,可通过名称.__dict__
访问。
您可以使用
bpy.ops.render.__dict__['render']
或
getattr(bpy.ops.render, 'render')