Simulated landing:
1. Enter the user account password to login
2. The user information stored in the file
3. After the user inputs the wrong password three times to lock the user
Ideas:
1. The user name and password file passwd, lock the user to lock file
2. The user input using the input account password input, the user is divided passwd file, passwd field and compare the user input and passwd
When the user is determined after 3 times an incorrect input user is written to a file lock, lock exists in the read file
4. prepare in advance to write acc.json file, the user name and password stored in advance inside
flow chart
import logger,auth import time access_logger = logger.logger('access') menu = u''' =========Welcome My System======= please input your username and password ''' menu1=u''' =========gogogo======== your password is right! ''' time_ci=0 while time_ci<3: print(menu) us_er=input('username>>:') who_us=auth.test_user(us_er) if who_us: us_pass=input('password>>:') who_pass=auth.test_pass(us_er,us_pass) if who_pass: print(menu1) break else: access_logger.error('password is Worng,your only have %d changes '%(3-time_ci)) time_ci+=1 time.sleep(5) else: access_logger.error('username is Worng,your only have %d changes '%(3-time_ci)) time_ci+=1 time.sleep(5) else: print('Game over!!!')
import logging def logger(logger_name): logger=logging.getLogger() ch=logging.StreamHandler() fh = logging.FileHandler(logger_name) formatter=logging.Formatter('%(asctime)s-%(name)s-(levelname)s-%(message)s') ch.setFormatter(formatter) fh.setFormatter(formatter) logger.addHandler(ch) logger.addHandler(fh) return logger
import json def db_ob(): f=open('acc.json','r') data=f.read() f.close() return data def test_user(name): data=db_ob() data=json.loads(data) if name in data: return True def test_pass(name,pswd): data=db_ob() data=json.loads(data) if pswd==data[name]: return True
模拟登陆:
1. 用户输入帐号密码进行登陆
2. 用户信息保存在文件内
3. 用户密码输入错误三次后锁定用户
思路:
1. 用户名密码文件为passwd,锁定用户文件为lock
2. 用户输入账号密码采用input输入,分割passwd文件出user,passwd字段并比较input的user和passwd
3.当用户三次输入错误后将input user写入到lock文件,读取时判断是否在lock文件中存在
4.提前准备写acc.json文件,将用户名密码预先保存在里面
流程图
import logger,auth import time access_logger = logger.logger('access') menu = u''' =========Welcome My System======= please input your username and password ''' menu1=u''' =========gogogo======== your password is right! ''' time_ci=0 while time_ci<3: print(menu) us_er=input('username>>:') who_us=auth.test_user(us_er) if who_us: us_pass=input('password>>:') who_pass=auth.test_pass(us_er,us_pass) if who_pass: print(menu1) break else: access_logger.error('password is Worng,your only have %d changes '%(3-time_ci)) time_ci+=1 time.sleep(5) else: access_logger.error('username is Worng,your only have %d changes '%(3-time_ci)) time_ci+=1 time.sleep(5) else: print('Game over!!!')
import logging def logger(logger_name): logger=logging.getLogger() ch=logging.StreamHandler() fh = logging.FileHandler(logger_name) formatter=logging.Formatter('%(asctime)s-%(name)s-(levelname)s-%(message)s') ch.setFormatter(formatter) fh.setFormatter(formatter) logger.addHandler(ch) logger.addHandler(fh) return logger
import json def db_ob(): f=open('acc.json','r') data=f.read() f.close() return data def test_user(name): data=db_ob() data=json.loads(data) if name in data: return True def test_pass(name,pswd): data=db_ob() data=json.loads(data) if pswd==data[name]: return True