【发布时间】:2023-03-16 02:37:01
【问题描述】:
我在使用 python 脚本创建 Maya MEL 表达式时遇到问题。我需要能够根据输入到某些 GUI 组件中的值来格式化表达式,但是当我尝试格式化包含“if 语句”的表达式时,会出现一些冲突。看看:
revol_int = self.revol_int.value()
revolExpression = pm.expression(o=rigRevol, s='if (frame%8 == 0) {rz = (frame//{0}) * ((360/{1}.000)/2.000);}'.format(interv_int, revol_int))
表达式在手动输入时有效,但在通过脚本格式化完成时,由于包含 if 语句代码块的“{}”,我得到一个 KeyError。所以我尝试了另一种格式化方法:
revol_int = self.revol_int.value()
revolExpression = pm.expression(o=rigRevol, n='olr_revolutions_expression', s='if (frame%8 == 0) {rz = (frame//%s) * ((360/%s.000)/2.000);}' % (interv_int, revol_int))
但在这种情况下,我得到一个 # ValueError: unsupported format character ' ' (0x20) at index 11。我很不确定从这里去哪里。任何建议将不胜感激。
【问题讨论】:
标签: python expression string-formatting maya mel