从Python调用MEL脚本-执行MEL脚本时出错
我正在尝试创建一个简单的Python脚本,该脚本将从Maya中调用MEL脚本来创建立方体。耶!应该是相当直截了当的,尽管我可能对源文件的语法有误 以下是我所拥有的: runMEL.py Python文件: 将maya.mel导入为mel从Python调用MEL脚本-执行MEL脚本时出错,python,file,maya,mel,Python,File,Maya,Mel,我正在尝试创建一个简单的Python脚本,该脚本将从Maya中调用MEL脚本来创建立方体。耶!应该是相当直截了当的,尽管我可能对源文件的语法有误 以下是我所拥有的: runMEL.py Python文件: 将maya.mel导入为mel def runMEL(): print ("Running MEL from Python!") mel.eval('"source D:\Maya_Python\myMELScript.mel;"') # source of the file me
def runMEL():
print ("Running MEL from Python!")
mel.eval('"source D:\Maya_Python\myMELScript.mel;"') # source of the file
mel.eval("myMELScript;") #name of the function
runMEL() # call the function above
以及MEL脚本myMELScript.MEL
global proc myMELScript()
// call a MEL script with Python
{
polyCube -w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0 -cuv 4 -ch 1;
print("MEL just made a cube!");
}
我从控制台获得以下信息:
Running MEL from Python!
// Error: "source D:\Maya_Python\myMELScript.mel;"; //
// Error: Line 1.40: Syntax error //
# Error: RuntimeError: file <maya console> line 5: Error occurred during execution of MEL script
Line 1.40: Syntax error #
从Python运行MEL!
//错误:“源D:\Maya\u Python\myMELScript.mel;”;//
//错误:第1.40行:语法错误//
#错误:运行时错误:文件第5行:执行MEL脚本时出错
第1.40行:语法错误#
如果几乎正确,则必须将路径作为字符串传递并转义。此外,mel对向前的/
和向后的\
斜杠很挑剔,它期望/
这应该做到:
注意:通常在python中,您可以编写路径以及
D:\\Maya_Python\\myMELScript.mel
但是mel不够聪明,因此它将逃逸转义符号:D如果几乎正确,则必须将路径作为字符串传递并逃逸。此外,mel对向前的
/
和向后的\
斜杠很挑剔,它期望/
这应该做到:
注意:通常在python中,您可以编写路径以及
D:\\Maya_Python\\myMELScript.mel
但是mel不够聪明,所以它会避开转义符号:D有没有具体的原因要通过笨拙的mel来实现?有没有具体的原因要通过笨拙的mel来实现?
mel.eval('source“D:/Maya\u Python/myMELScript.mel“)
会更整洁是的,看起来确实更好!而且更像是一种“pythonic”感谢您的贡献。下次请编辑,我会接受的:)谢谢。最后一件事,分号只需要在第二个求值行上吗?如何在MEL中使用相对路径?谢谢。@Ghouldool如果MEL命令是多行的,那么除了最后一行以外,其他所有行都需要分号。最后一行由文件的结尾分隔。mel.eval('source“D:/Maya\u Python/myMELScript.mel“)
会更整洁一些是的,看起来确实更好!而且更像是一种“pythonic”感谢您的贡献。下次请编辑,我会接受的:)谢谢。最后一件事,分号只需要在第二个求值行上吗?如何在MEL中使用相对路径?谢谢。@Ghouldool如果MEL命令是多行的,那么除了最后一行以外,其他所有行都需要分号。最后一行由文件结尾分隔。