gpt4 book ai didi

适用于 Maya 的 Python : Why can't I use a variable in concatination with a wildcard?

转载 作者:太空宇宙 更新时间:2023-11-03 21:13:02 24 4
gpt4 key购买 nike

我正在尝试在 Maya 中使用“ls”python 命令,列出名称中具有匹配字符串并与通配符连接的某些对象。

简单的示例代码如下:

from maya.cmds import *
list = ls('mesh*')

此代码有效,并将返回名称中具有匹配字符串的对象列表,但是,我想使用变量而不是在字符串中进行硬编码。更多类似这样的:

from maya.cmds import *
name = 'mesh'
list = ls('name*')

或者像这样:

from maya.cmds import *
name = 'mesh'
list = ls('name' + '*')

但是,在这两个示例中,与第一个示例不同,它返回一个空列表。我不确定为什么会出现这种情况,因为在这些示例中,字符串连接应该像第一个示例一样显示为“mesh*”。我在这个网站上找不到答案,所以我选择提出问题。

谢谢。

京东

PS。如果有更好的方法来查询 Maya 中的对象,请告诉我它的名称,我将对其进行一些研究。目前,这是我知道如何在 Maya 中搜索对象的唯一方法。

最佳答案

一旦您在变量 name 周围添加引号(如 'name'),您实际上只是在创建一个新字符串,而不是引用该变量。

在 Python 中连接字符串有很多不同的方法来实现您想要的目的:

使用%:

'name%s' % '*'

使用字符串的format方法:

'{}*'.format(name)

只需使用+:

name + '*'

所有这些都会产生相同的输出,'mesh*',并且将与cmds.ls一起使用

我个人坚持使用格式and this page demonstrates a lot of reasons why.

关于适用于 Maya 的 Python : Why can't I use a variable in concatination with a wildcard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54916889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com