如何删除 repl 数据库中的单个特定值?
how to delete a single specific value within a repl database?
我正在使用 repl 的数据库功能创建一个 discord python 机器人,我不知道如何从数据库中只删除一个值。
@client.command()
async def addvalue(ctx, arg):
db[str(ctx.author.id)] = [arg]
await ctx.send("value added")
@client.command()
async def removevalue(ctx, arg):
db[str(ctx.author.id)] = db[str(ctx.author.id)] - arg #ik this is a dumb way of trying this, this is just theory obv this wouldnt work
我以前从未使用过它,但从 example code 来看,您似乎可以使用:
del db[str(ctx.author.id)][index]
从 the docs 开始,它只是一个 key/value 商店,所以它看起来与任何 dict
.
商店一样
我要做的是找到我要删除的值的索引:
async def removevalue(ctx, arg):
c = 0
for x in db[str(ctx.author.id)]:
if str(arg) in db[str(ctx.author.id)][c]:
del db[str(ctx.author.id)][c]
await ctx.send("Value deleted")
return
else:
c += 1
请注意,我将 str()
放在 arg
周围,但我很确定那没有用。我只是想方设法修复它。
我正在使用 repl 的数据库功能创建一个 discord python 机器人,我不知道如何从数据库中只删除一个值。
@client.command()
async def addvalue(ctx, arg):
db[str(ctx.author.id)] = [arg]
await ctx.send("value added")
@client.command()
async def removevalue(ctx, arg):
db[str(ctx.author.id)] = db[str(ctx.author.id)] - arg #ik this is a dumb way of trying this, this is just theory obv this wouldnt work
我以前从未使用过它,但从 example code 来看,您似乎可以使用:
del db[str(ctx.author.id)][index]
从 the docs 开始,它只是一个 key/value 商店,所以它看起来与任何 dict
.
我要做的是找到我要删除的值的索引:
async def removevalue(ctx, arg):
c = 0
for x in db[str(ctx.author.id)]:
if str(arg) in db[str(ctx.author.id)][c]:
del db[str(ctx.author.id)][c]
await ctx.send("Value deleted")
return
else:
c += 1
请注意,我将 str()
放在 arg
周围,但我很确定那没有用。我只是想方设法修复它。