创建储存一个文件,文件上存放多个用户名,密码,做一个认证的流程程序,首先创建一个文件,文件上输入多个用户名,及对应的密码,然后让客户输入用户名和密码,进行用户名和密码核对,如果输入正确,则的认证成功,如果用户名和密码错误,提示用户名密码;同时选择注册,则将你输入的账户密码写入文件中。
时间: 2023-11-03 11:04:12 浏览: 80
好的,这是一个关于文件读写和用户认证的问题,我可以帮你解答。
首先,我们需要创建一个文件,可以使用 Python 的内置函数 open() 来实现。我们可以指定文件名和打开模式,例如:
```
file = open('user_info.txt', 'w')
```
这里的 'user_info.txt' 是文件名,'w' 是打开模式,表示以写入模式打开文件。接下来,我们可以向文件中写入多个用户名和密码,可以使用 write() 函数来实现,例如:
```
file.write('user1 password1\n')
file.write('user2 password2\n')
file.write('user3 password3\n')
```
这里的 '\n' 是换行符,用于分隔每个用户名和密码。
接下来,我们需要实现用户认证的流程。首先,让客户输入用户名和密码,可以使用 input() 函数来实现,例如:
```
username = input('请输入用户名:')
password = input('请输入密码:')
```
接着,我们需要读取文件中的用户名和密码,并与用户输入的用户名和密码进行核对。可以使用 readlines() 函数来读取文件中的每一行数据,例如:
```
file = open('user_info.txt', 'r')
lines = file.readlines()
```
然后,我们可以使用 for 循环遍历每一行数据,将每个用户名和密码分别存储到字典中,例如:
```
users = {}
for line in lines:
data = line.strip().split()
users[data[0]] = data[1]
```
这里的 strip() 函数用于去除每行数据的空格和换行符,split() 函数用于将每行数据按空格分隔成列表。
最后,我们可以判断用户输入的用户名和密码是否与字典中的数据匹配,如果匹配则认证成功,否则认证失败。如果用户选择注册,则可以将用户输入的用户名和密码写入文件中。完整代码如下:
```
file = open('user_info.txt', 'w')
file.write('user1 password1\n')
file.write('user2 password2\n')
file.write('user3 password3\n')
file.close()
username = input('请输入用户名:')
password = input('请输入密码:')
file = open('user_info.txt', 'r')
lines = file.readlines()
file.close()
users = {}
for line in lines:
data = line.strip().split()
users[data[0]] = data[1]
if username in users and users[username] == password:
print('认证成功')
else:
print('用户名或密码错误')
choice = input('请选择:1.登录 2.注册:')
if choice == '2':
username = input('请输入用户名:')
password = input('请输入密码:')
file = open('user_info.txt', 'a')
file.write(username + ' ' + password + '\n')
file.close()
```
希望能够帮助到你。如果有任何问题,请随时问我。
阅读全文