1つのPythonのPYジョブジョブシミュレート着陸(最初の週)

シミュレートされた着陸:
1.ログインするユーザーアカウントのパスワードを入力し
、ファイルに保存されているユーザ情報2.
ユーザーは、ユーザーをロックするために、間違ったパスワードを3回入力した後、3。

アイデア:

1.ユーザー名とパスワードのファイルのpasswd、ファイルをロックするようにユーザーをロック

2.入力アカウントのパスワード入力を使用してユーザ入力は、ユーザーがpasswdファイルは、passwdフィールドに分割され、ユーザの入力とpasswdを比較

3回間違って入力されたユーザーがファイルロックに書き込まれた後、ユーザーが決定されると、ロックは読み込みファイル内に存在します

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!!!')
main.py
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
logger.py
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
auth.py

 

模拟登陆:
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!!!')
main.py
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
logger.py
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
auth.py

 

おすすめ

転載: www.cnblogs.com/westwind01/p/11183596.html