我对Python有点新意,此刻我陷入了困境:
c = 5
cmds.pointPosition(geo[0]+".cv[0]["+c+"2]", w=True)
它给了我错误:
错误:TypeError:文件第39行:强制转换为Unicode: 需要字符串或缓冲区,int找到#
问题是如何将变量c = 5
放在第二个括号内,这样它就是7
?
答案 0 :(得分:6)
尽可能避免字符串连接。这是str.format
的一个很好的用例。
cmds.pointPosition("{}.cv[0][{}]".format(geo[0], c + 2), w=True)
假设c
保持一个整数的值开始(否则,c + 2
步骤失败)。
答案 1 :(得分:4)
Python不会像某些语言那样自动将整数转换为字符串表示形式。您需要使用str()
,format()
或f-string明确地自行转换。
答案 2 :(得分:1)
c = 5
cmds.pointPosition(geo[0]+".cv[0][" + str(c) + "2]", w=True)
在Python中,你不能连接str和int。