我有以下代码:
import maya.cmds as cmds
list = cmds.ls(sl=True)
my_list = [object.upper() for object in list]
print(my_list)
但是,即使它在最后的 print 语句中打印出大写名称,它也不会更改对象的名称。
你想要的是
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)
此处通过示例记录了这一点。
此代码将重命名您中的所有对象,如果您愿意,list
也可以使用您选择的任何对象。cmds.select()
这很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
“变异”字符串的正确方法是使用切片和连接通过从旧字符串的部分复制来构建新字符串。