import json class MysqlDatabases: def __int__(self): with open('user.json', 'r', encoding='utf-8') as f: text = f.read() self.user = json.loads(text) def check_login(self, username, password): for user in self.user: if username == user['username']: if password == user['password']: return True, '登陆成功' else: return False, '登陆失败,密码错误' return False, '登录失败,用户不存在' return self.user db = MysqlDatabases if __name__ == '__main__': print(db.check_login('admin', 'password'))修改
时间: 2024-02-14 13:09:13 浏览: 20
在您提供的代码中,有一些语法错误和逻辑问题。以下是修改后的代码:
```python
import json
class MysqlDatabases:
def __init__(self):
with open('user.json', 'r', encoding='utf-8') as f:
text = f.read()
self.user = json.loads(text)
def check_login(self, username, password):
for user in self.user:
if username == user['username']:
if password == user['password']:
return True, '登陆成功'
else:
return False, '登陆失败,密码错误'
return False, '登录失败,用户不存在'
if __name__ == '__main__':
db = MysqlDatabases()
print(db.check_login('admin', 'password'))
```
在这个修改后的代码中,我们首先导入了`json`模块。接下来,我们定义了一个名为`MysqlDatabases`的类,其中包含`__init__`方法和`check_login`方法。在`__init__`方法中,我们打开了`user.json`文件,并使用`json.loads`函数将其解析为Python对象,然后将其存储在`self.user`中。在`check_login`方法中,我们使用`for`循环遍历`self.user`列表,检查给定的用户名和密码是否与列表中的任何用户匹配。如果匹配成功,我们返回一个元组,其中第一个元素为`True`,第二个元素为`'登陆成功'`。否则,我们返回一个元组,其中第一个元素为`False`,第二个元素为相应的错误消息。
在`__name__ == '__main__'`分支中,我们创建了一个`MysqlDatabases`对象,并调用其`check_login`方法来检查用户名和密码。请注意,我们需要在`db = MysqlDatabases()`行后添加括号,以调用类的构造函数。