如何快速检查物品是否存储在货架数据库中?

How can I check if an item is stored in a shelve database quickly?

我正在 Python 3.8.3. 上使用 shelve 库,我对从数据库创建新条目并读取某个键的值非常有信心。但是,我不能这样做:

users = shelve.open("users", "r")
name = input()
if name in users:
    do something
else:
    do something else
users.close()

因为我无法直接访问字典,而是可以访问搁置对象。我想我可以把键变成一个列表,但这会破坏使用字典的全部目的。有什么想法吗?

看来我很笨啊。我正在从一个名为“users”的文件中读取并写入一个名为“users.txt”的文件,这就是错误的来源。你可以按我原文说的做post,if name in users....

尽管错误消息并不能很好地指示这个错误(关键错误),所以我会把这个问题留待post严肃对待。