最近在学习python,因此尝试的写了一段由注册到登录的代码,希望得到大家的指导

首先先说一下我的逻辑:

  

python用户注册管理 python用户注册代码_python登录

 

在这里我分别定义写文件、读文件、注册、登录的函数,如下图结构目录:

         

python用户注册管理 python用户注册代码_python注册_02

 

  逻辑和结构介绍完后,按照惯例,应该是上代码了:

  main.py

1 #!--*--coding:utf8--*--
 2 from 练习.file import r_file, file
 3 from 练习.login import login
 4 from 练习.loginuser import login_name
 5 
 6 
 7 def call():
 8     if login_name in r_file():
 9         login()
10     else:
11         print('该用户未注册,是否去注册?'
12               'y,去注册')
13         choose = input("请输入你的选择>>>:")
14         if choose == 'y':
15             ret = file()
16         else:
17             login()
18     return login_name
19 
20 
21 if __name__ == '__main__':
22     call()

  loginuser.py

python用户注册管理 python用户注册代码_python用户注册管理_03

python用户注册管理 python用户注册代码_Code_04

1 #!--*--coding:utf8--*--
2 
3 login_name = input('请输入用户名>>>:')

View Code

  file.py

python用户注册管理 python用户注册代码_python用户注册管理_03

python用户注册管理 python用户注册代码_Code_04

1 #!--*--coding,utf8--*--
 2 
 3 #用来存储用户和操作用户信息
 4 from 练习.注册 import register
 5 import ast
 6 #写文件
 7 def file():
 8     f = open('username.txt', 'a', encoding='utf8')
 9     user = register()
10     f.write(str(user) + '\n')
11     f.close()
12 #读文件中的内容
13 def r_file():
14     f = open('username.txt',encoding='utf8')
15     list = []
16     for user in f.readlines():
17         lin = ast.literal_eval(user)
18         login_user = lin['username']
19         list.append(login_user)
20     f.close()
21     return list
22 
23 
24 if __name__ == '__main__':
25     print(r_file())

View Code

  注册.py

python用户注册管理 python用户注册代码_python用户注册管理_03

python用户注册管理 python用户注册代码_Code_04

1 #!--*--coding,utf8--*--
 2 def register():
 3     flag = True
 4     while(flag):
 5         user_name = input('请输入用户名>>>:')
 6         age = input('请输入年龄>>>:')
 7         phone =  input('请输入电话号码>>>:')
 8         if 2<=user_name.__len__()<10 and 0<age.__len__()<3 and phone.__len__()==11:
 9             userinfo = {'username':user_name,'age':age,'phone':phone}
10             print('恭喜您,注册成功')
11 
12             flag = False
13         else:
14             print('信息填写不正确,请确认再提交')
15     return userinfo
16 
17 
18 
19 if __name__ == '__main__':
20     print(register())

View Code

  login.py

python用户注册管理 python用户注册代码_python用户注册管理_03

python用户注册管理 python用户注册代码_Code_04

1 #! --*--coding:utf8--*--
 2 
 3 from 练习.file import r_file
 4 from 练习.loginuser import login_name
 5 
 6 def login():
 7     flag = True
 8     while(flag):
 9         #user_name = input('输入用户名>>>:')
10         #user_name = call()
11         #login_name
12         if login_name in r_file():
13             print('欢迎%s,祝您玩的愉快'%login_name)
14             flag = False
15 
16 
17 if __name__ == '__main__':
18     login()

View Code

  username.txt

{'username': '***', 'age': '***', 'phone': '***'}
{'username': '***', 'age': '***', 'phone': '***'}
{'username': '张三同学你好游戏', 'age': '29', 'phone': '13323233232'}
{'username': '李四', 'age': '29', 'phone': '13323233232'}
{'username': '王五', 'age': '29', 'phone': '13323233232'}
{'username': '站起来撸', 'age': '33', 'phone': '13321211111'}