1 #!/usr/bin/env python
2 # -*- encoding:utf-8 -*-
3 def login(username, password):
4 """
5 login
6 :param username: username
7 :param password: password
8 :return: True,login success,False,login fail
9 """
10 with open('db', 'r', encoding='utf-8') as f:
11 for line in f:
12 line = line.strip()
13 list = line.split("$$")
14 if username == list[0] and password == list[1]:
15 return True
16 return False
17
18
19 def exist(username):
20 """
21 check exist
22 :param username: username
23 :return: True,exist, False, not exist
24 """
25 with open("db", "r", encoding="utf-8") as f:
26 for line in f:
27 line = line.strip()
28 line_list = line.split("$$")
29 if username == line_list[0]:
30 return True
31 return False
32
33
34 def register(username, password):
35 """
36 注册
37 :param username: 用户名
38 :param password: 密码
39 :return:
40 """
41 f = open('db', 'a', encoding='utf-8')
42 string = "\n" + username + "$$" + password
43 f.write(string)
44 return True
45
46
47 def updatePwd(username, oldPwd, newPwd):
48 """
49 修改密码
50 :param username: 用户民
51 :param oldPwd: 旧密码
52 :param newPwd: 新密码
53 :return: True 修改成功, F,修改失败
54 """
55 with open('db', 'r', encoding='utf-8') as f:
56 lines = f.readlines()
57 with open('db', 'w', encoding='utf-8') as w:
58 for line in lines:
59 if username in line:
60 line = line.replace(oldPwd, newPwd)
61 w.write(line)
62 return True
63 return False
64
65
66 while True:
67 print('welcome to login xxx system')
68 select = input('1.login=====2.register')
69 if select == '1':
70 username = input("username:")
71 password = input("password:")
72 if login(username, password):
73 print('login success!')
74 select = input("1.updatePwd")
75 if select == '1':
76 newPwd = input("input new password:")
77 if updatePwd(username, password, newPwd):
78 print("udpate success!")
79 else:
80 print("update fail!")
81 else:
82 print('login failed!')
83 else:
84 username = input("username:")
85 password = input("password:")
86 if exist(username):
87 print("username has existed!")
88 elif register(username, password):
89 print("register success!")