python-3.x “[某个字符串]是缺少的必需参数”不会消失

jgwigjjp  于 2022-12-15  发布在  Python
关注(0)|答案(1)|浏览(101)

我只是一个业余爱好者,正在制作一个简单的discord机器人,这里有一个命令“add”,如你所见。问题是,当我运行它时,它是好的,但当“mes”为空时,我们得到的是好的ol ':
“mes是缺少的必需参数."。
守则

@bot.command()
async def add(ctx, *, mes):
    if not mes == '':
        await ctx.send('Added *' + mes + '* to the list')
        file1 = open('file1.txt', 'a')
        c = mes.lower()
        word = '\n' + c
        file1.writelines(word)
        file1.close()
    else:
        await ctx.send("Please enter a word to add")

我寻找有类似问题的人,但我所能找到的是代码,有'mes'的要求和修复是 mes这是(ctx,,mes)。我尝试了很多东西,但无济于事,我不知道什么是错的,所以我可以使用一些帮助

wmtdaxz3

wmtdaxz31#

发生这种情况的原因是因为参数是必需的。要使其可选,请将默认值设为None

@bot.command()
async def add(ctx, *, mes: str = None):
    if not mes:
        await ctx.send('Added *' + mes + '* to the list')
        file1 = open('file1.txt', 'a')
        c = mes.lower()
        word = '\n' + c
        file1.writelines(word)
        file1.close()
    else:
        await ctx.send("Please enter a word to add")

相关问题