修改错误def openCardSystem(): username = txt_name.get() password = txt_pwd.get() with open("username", mode="r") as f: users = f.readlines() for u in users: name_password = u.split(" ") f_name = name_password[0].split("=")[1] f_password = name_password[1].split("=")[1][0:-1] if username == f_name and password == f_password:
时间: 2024-01-02 14:05:00 浏览: 278
在这段代码中,存在以下问题:
1. `username` 和 `password` 变量的赋值应该放到函数内部,而不是在函数外部。这样可以避免在调用函数时传入参数出错。
2. 在打开文件时,应该使用 `username.txt` 而不是 `username`,否则会报文件不存在的错误。
3. 在读取用户信息时,应该删除每行末尾的换行符,否则会干扰后面的比较操作。
4. 在比较用户名和密码时,应该忽略前后的空格,否则会导致比较失败。
修改后的代码如下:
```python
def openCardSystem():
username = input_username.get()
password = input_password.get()
with open(username + ".txt", mode="r") as f:
users = f.readlines()
for u in users:
name_password = u.strip().split(" ")
f_name = name_password[0].split("=")[1].strip()
f_password = name_password[1].split("=")[1].strip()
if username == f_name and password == f_password:
# do something
break
else:
# 用户名或密码不正确
pass
```
阅读全文