在 Maya 中,如何在 python 脚本中启动 python 脚本
In Maya, how to launch a python script in a python script
我想创建一个 def 来启动 str 变量中给定的脚本:
def launchScript(scriptname):
import scriptname
reload(scriptname)
scriptname.do()
所以我能做到:
launchScript(test)
它会从我的测试脚本中启动 do() def
简单方法是让你的脚本可执行,然后使用execfile
到运行它:像这样的东西:
# scriptfile.py
import maya.cmds as cmds
def do():
cmds.polyCube(n='new_cube')
if __name__ == '__main__':
do()
如果文件正在执行,if __name__ == '__main__'
块将 运行,但如果它作为模块导入则不会。严格来说,如果您知道您永远不会将该文件用作模块,那么您可以不用它。
在 Maya 中,您只需执行
execfile ("path/to/scriptFile.py")
它会自动运行 do()
。与导入模块不同,您不需要使用 reload()
,文件中的所有内容都将在每个 execfile()
上重新完成
一般来说,这对于测试来说是好的,但不是您想要为生产代码做的事情——如果不出意外,您将花时间在每个 运行 上从磁盘读取文件.
我想创建一个 def 来启动 str 变量中给定的脚本:
def launchScript(scriptname):
import scriptname
reload(scriptname)
scriptname.do()
所以我能做到:
launchScript(test)
它会从我的测试脚本中启动 do() def
简单方法是让你的脚本可执行,然后使用execfile
到运行它:像这样的东西:
# scriptfile.py
import maya.cmds as cmds
def do():
cmds.polyCube(n='new_cube')
if __name__ == '__main__':
do()
如果文件正在执行,if __name__ == '__main__'
块将 运行,但如果它作为模块导入则不会。严格来说,如果您知道您永远不会将该文件用作模块,那么您可以不用它。
在 Maya 中,您只需执行
execfile ("path/to/scriptFile.py")
它会自动运行 do()
。与导入模块不同,您不需要使用 reload()
,文件中的所有内容都将在每个 execfile()
一般来说,这对于测试来说是好的,但不是您想要为生产代码做的事情——如果不出意外,您将花时间在每个 运行 上从磁盘读取文件.