python - 关键字不能是表达式?
问题描述
在我的代码中,我正在尝试做:
if "!variants" in args[0]:
variants = client.user.party.me.create_variants(
args[2]=args[3]
)
await client.user.party.me.set_outfit(
asset=args[1],
variants=variants
)
await message.reply('Skin set to' + args[1])
对于 args[2],它可以有很多东西,例如clothing_color
or material
,我能找到的唯一解决方案是为每个不同的 args[2] 添加不同的命令,这不是很有效,我宁愿将代码缩短为 1 个命令, 是:
if ("!variants" in args[0]) & ("clothing_color" in args[2]):
variants = client.user.party.me.create_variants(
clothing_color=args[3]
)
await client.user.party.me.set_outfit(
asset=args[1],
variants=variants
)
await message.reply('Skin set to' + args[1])
if ("!variants" in args[0]) & ("material" in args[2]):
variants = client.user.party.me.create_variants(
material=args[3]
)
await client.user.party.me.set_outfit(
asset=args[1],
variants=variants
)
await message.reply('Skin set to' + args[1])
或者是第二种方法,我可以解决这个问题的唯一方法?
解决方案
您可以使用re
:
if "!variants" in args[0] and re.search("clothing_color|material", args[2]):
如果找到任何一个单词,这将返回一个Match
对象,如果没有,则返回 None
推荐阅读
- c# - .NET CORE_Blazor 找不到 Http.SendAsJsonAsync()
- kubernetes - 将文件注入 Helm 模板
- python - 在 Tensorflow 中为输入和输出保持相同的数据集扩充
- c# - 在 C# asp.net mvc 中作为后台运行函数/进程
- c - 将数据从一个数组引用到C中的另一个数组
- c# - 实体框架能否将同一列映射到导航属性和外键
- laravel - VueX / Nuxt Store 返回失败,状态码为 400
- reactjs - React 测试 - 模拟函数
- select - JQgrid 只查看选中的记录
- powershell - powershell 检查 url https 使用 nssm 忽略证书