使用maya python api - 如何将所选对象名称更改为大写?

时间:2016-02-10 23:18:22

标签: python maya-api

我有以下代码:

import maya.cmds as cmds

list = cmds.ls(sl=True)

my_list = [object.upper() for object in list]

print(my_list)

但是,它不会更改对象的名称,即使它最后在print语句中打印出大写名称。

3 个答案:

答案 0 :(得分:2)

你想要的是

import maya.cmds as cmds

list = cmds.ls(sl=True)
for n in list:
    cmds.rename(n, n.upper())

new_list = cmds.ls(sl=True)
print(new_list)

这是documented here的一个例子。

此代码将重命名list中的所有对象,如果您愿意,也可以使用cmds.select()选择的任何对象。

答案 1 :(得分:0)

“变异”字符串的正确方法是使用切片和连接 通过复制旧字符串的部分来构建新字符串。

答案 2 :(得分:0)

它非常hackish,老实说我不会推荐它,但如果你真的想这样做,你可以这样做:

def global_var_to_upper(var):
    for _ in globals():
        if var is globals()[_]:
            globals()[str(_).upper()] = globals()[_]
            del globals()[_]
            break

abc = 123
global_var_to_upper(abc)
print(ABC) # prints 123