在Maya中,如何在python脚本中启动python脚本

时间:2017-07-11 19:21:24

标签: python-2.7 maya

我想创建一个def,它正在启动str变量中给出的脚本:

itemSnapshot

所以我可以这样做:

def launchScript(scriptname):
    import scriptname
    reload(scriptname)
    scriptname.do()

它将从我的测试脚本

启动 do() def

1 个答案:

答案 0 :(得分:0)

easy 方法是让您的脚本可执行,然后使用execfile来运行它:像这样:

# scriptfile.py

import maya.cmds as cmds
def do():
     cmds.polyCube(n='new_cube')

if __name__ == '__main__':
   do()

如果文件正在执行,if __name__ == '__main__'块将运行,但如果它作为模块导入则不会运行。严格地说,如果你知道你永远不会将文件用作模块,那么没有它就可以顺利通过。

在玛雅你只是做

 execfile ("path/to/scriptFile.py")

它将自动运行do()。与导入模块不同,您不需要使用reload(),文件中的所有内容都将在每个execfile()

上重新完成

一般来说,这对于测试来说很好,但不是你想要为生产代码做的事情 - 如果没有其他的话,你将花费时间在每次运行时从磁盘读取文件。