首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python动态调用;getattr?

Python动态调用;getattr?
EN

Stack Overflow用户
提问于 2017-03-03 05:55:26
回答 1查看 69关注 0票数 0

通常情况下,我可以通过一些谷歌搜索来破解一些代码,但这一点超出了我的理解。我希望以编程方式运行以下函数;

代码语言:javascript
复制
App.getDocument("Unnamed").NAME.Placement=App.Placement(App.Vector(0,0,0), App.Rotation(App.Vector(0,0,1),90), App.Vector(0,0,0))

其中名称和编号是更改的项。我有NAME1,NAME2 ....每个变量都有不同的向量编号,我想在NAMEn循环中运行这个命令来移动脚本传递的任何数量的项。快速搜索一下,getattr()似乎是答案,但=似乎是拦截器。所以我只能走到这一步;

代码语言:javascript
复制
f1 = getattr(App,'getDocument')
f2 = getattr(f1('Unnamed'),'NAME1')
f3 = getattr(f2,'Placement')  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-03 06:36:21

这就是你要找的东西吗?

代码语言:javascript
复制
names = ['NAME1','NAME2','NAME3'] ...
vectors = [[(0,0,0),(0,0,1),(0,1,0)], 
           [(0,0,0),(0,0,1),(0,1,0)], 
           [(0,0,0),(0,0,1),(0,1,0)],] 

for n, (v1,v2,v3) in zip(names, vectors):
    left = getattr(App.getDocument("Unnamed"),n)
    right = App.Placement(App.Vector(*v1), App.Rotation(App.Vector(*v2),90), App.Vector(*v3))

    setattr(left, "Placement", right)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42566752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档