TypeError:传递给Member .__ format__的不支持的格式字符串

问题描述 投票:1回答:1
    server = ctx.message.server
    msg = ""

    if server.id not in self.slowed_db:
        await self.bot.say(error("There isn't anyone in Slow Mode in this server."))
        return

    names = [server.get_member(x).name for x in self.slowed_db[server.id]]
    names_len = len(max(names, key=len))
    for key, value in self.slowed_db[server.id].items():
        try:
            member = server.get_member(key)
            msg += "{:<{names_len}} {}\n".format(member, value['seconds'], names_len=names_len)
        except AttributeError:  # User isn't in server
            continue
    if msg:
        await self.bot.say(box(msg, lang="css"))
    else:
        await self.bot.say(error("There isn't anyone in Slow Mode in this server."))
        return

任何人都可以解释为什么这不起作用?错误在这一行:

msg += "{:<{names_len}} {}\n".format(member, value['seconds'], names_len=names_len)

names_len打印就好整数,所以我很困惑。

python typeerror
1个回答
0
投票

我想你想在那里传递member.name,而不是member本身。

© www.soinside.com 2019 - 2024. All rights reserved.