Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:&:“list”和“QueryInstance”的操作数类型不受支持_Python_Tinydb - Fatal编程技术网

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

Python TypeError:&:“list”和“QueryInstance”的操作数类型不受支持,python,tinydb,Python,Tinydb,我正在尝试建立一个登录系统,其中用户输入将与tinydb的json文件进行交叉检查。我设法让注册工作,但当我尝试登录时,我得到了这个错误 TypeError:&:“list”和“QueryInstance”的操作数类型不受支持 我试着删除密码验证,结果成功了。不完全确定背后的原因。如果我能得到一些关于哪里出了问题的指导,那就太好了。谢谢 def login(): username = input("Enter Username: ") password = i

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

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

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

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()

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

&在Python中是逻辑按位运算符,而不是条件运算符,因此,替换&with和应该让它工作起来

我不知道库,但您可能想替换&with和。&是逻辑位运算符!当我阅读tinydb的文档时,它说使用&。