有时候需要在python script里拼出个.mel文件,然后让mayabatch去执行
如果多行字符串的定义在function里面,嵌套很深,又希望左侧没空格,那默认情况下会是这样
def fuckme(fuck=True):
...
if fuck:
fixCmd = '''\n
if ($doFix){
print "Calling fuckme.bakeInChar() becauase xxx is in scene\\n";
python("fuckme.bakeInChar()");
file -f -save -defaultExtensions 0 -type "mayaAscii";
}
'''
...
# write the fixCmd strip to a .mel file
只有多行字符串都顶到左边去,写出去的mel文件左边才不会是空格,但是这样写python里的缩进不好看,所以可以如下操作
import textwrap
def fuckme(fuck=True):
...
if fuck:
fixCmd = '''\n
if ($doFix){
print "Calling fuckme.bakeInChar() becauase xxx is in scene\\n";
python("fuckme.bakeInChar()");
file -f -save -defaultExtensions 0 -type "mayaAscii";
}
'''
fixCmd = textwrap.dedent(fixCmd)
...
# write the fixCmd strip to a .mel file
这样的话,textwrap module把左侧的空格帮你去掉,python里缩进符合规范,mel里左侧也没有空格
赞过:
赞 正在加载……
相关