我是在不使用/打开命名空间编辑器的情况下删除命名空间(嵌套或非嵌套)的脚本,假设条件满足的地方没有内容。嵌套命名空间删除
虽然这样做,我得到了这个问题,在我无法使用cmds.namespace(rm="<string of the namespace>")
我已经有点找到了一个较长的解决方法,但我坚持的输出是一个列表的unicode删除嵌套的命名空间,我不能似乎将其转换为字符串。
nsLs = cmds.namespaceInfo(lon=True)
# nsLs Result: [u'UI', u'camera01', u'shared', u'v02', u'v03']
defaultNs = ["UI", "shared", "camera01"]
diffLs = [item for item in nsLs if item not in defaultNs]
# diffLs Result: [u'v02', u'v03']
for ns in diffLs:
nsNest = cmds.namespaceInfo(ns, lon=True)
# nsNest Result: [u'v02:new_run01']
# [u'v03:new_run01']
cmds.namespace(rm=str(nsNest))
因此,我已经使用不工作如以下错误的“删除”标志被遇到:
# Error: No namespace matches name: '[u'v02:new_run01']'.
# Traceback (most recent call last):
# File "<maya console>", line 13, in <module>
# RuntimeError: No namespace matches name: '[u'v02:new_run01']'. #
上面的代码我已输入的是纯粹为嵌套的命名空间,尽管它仍然没有达到结果,也不是非常灵活(假设在场景内只有1个嵌套级别),是否有任何方法可以纠正这种情况?
此外,不胜感激,如果任何人有删除命名空间如果没有命名空间编辑器的使用,当然任何解决方案/方法...
这是工作。想知道是否知道任何方法来确定名称空间的嵌套级别? – yan
然后张贴在这里。如果您发现答案有帮助,请考虑投票。 – kartikg3