TypeError:&:“list”和“QueryInstance”的操作数类型不受支持

2024-05-16 16:01:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试建立一个登录系统,其中用户输入将与tinydb的json文件进行交叉检查。我设法让注册工作,但当我尝试登录时,我得到了这个错误

TypeError:不支持&;:'的操作数类型“列表”和“查询状态”

我试着删除密码验证,结果成功了。不完全确定背后的原因。如果我能得到一些关于哪里出了问题的指导,那就太好了。谢谢

def login():
    username = input("Enter Username: ")
    password = input("Enter Password: ")
    User = Query()
    if(db.search(User.username == username) & (User.password == password)):
        print("Login Successful!")
        loggedInScreen()
    else:
        print("Incorrect Username or Password")
        login()

Tags: 文件用户jsoninput系统usernameloginpassword
2条回答

Python中的&是逻辑位运算符,而不是条件运算符,因此用and替换&应该可以让它工作

它应该是and而不是&。操作数and将检查您尝试验证的两个条件,而&执行按位AND,并且它不喜欢为bitwise提供的数据类型,因此会出现错误

相关问题 更多 >