gpt4 book ai didi

python - TypeError : tuple indices must be integers or slices, 命令中不是 str

转载 作者:行者123 更新时间:2023-12-01 01:03:23 25 4
gpt4 key购买 nike

嗨,我收到此错误:TypeError:元组索引必须是整数或切片,而不是命令中的 str 在此命令上,我有点不确定这里出了问题。这是我正在使用的代码:

@checks.can_embed()
@commands.command(name="botinfo")
async def botinfo(self, ctx: UKGCtx):
"""Shows advanced information about the bot."""
char_count = 0
deaths_count = 0
levels_count = 0
with closing(userDatabase.cursor()) as c:
c.execute("SELECT COUNT(*) as count FROM chars")
result = c.fetchone()
if result is not None:
char_count = result["count"]
c.execute("SELECT COUNT(*) as count FROM char_deaths")
result = c.fetchone()
if result is not None:
deaths_count = result["count"]
c.execute("SELECT COUNT(*) as count FROM char_levelups")
result = c.fetchone()
if result is not None:
levels_count = result["count"]

最佳答案

fetchone返回一个序列(在本例中是一个元组)或None,而不是字典。

如果您希望它返回字典,您可以替换 Connection.row_factory就像文档中的这个示例一样:

import sqlite3

def dict_factory(cursor, row):
d = {}
for idx, col in enumerate(cursor.description):
d[col[0]] = row[idx]
return d

con = sqlite3.connect(":memory:")
con.row_factory = dict_factory
cur = con.cursor()
cur.execute("select 1 as a")
print(cur.fetchone()["a"])

关于python - TypeError : tuple indices must be integers or slices, 命令中不是 str,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55593121/

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