python练习--1、简易登录接口

function:用于实现简单的用户登录接口。

description:用户信息存储于字典中,增加用户需手动写入代码中。最多可以尝试登录9次,首次使用会先在程序目录下创建锁文件。若在用户栏输入quit则退出程序。
输入用户,首先根据锁文件中存储用户来判断用户是否被锁,锁了则重新循环输入用户。未被锁则继续输入密码,密码正确会打印消息并退出,错误则对该用户尝试次数+1。
用户的密码错误三次后会被写入锁文件中并退出程序。

source code 如下:

#/usr/bin/env python
# -*- coding:utf-8 -*-

import os

user_dic = {
'jyd' : {'password': 'abc', 'count': 0},
'test': {'password': 'test', 'count': 0}
}
if not os.path.isfile('lock'):
open('lock','w').close()
total_error = 0
print("Exit from the username and enter : quit")
while total_error < 9 :
user = input('username-->:')
if user == 'quit':
break
if user in user_dic.keys():
#看锁文件中是否有该用户,若有则被锁并重定义lock_u为yes,再跳出锁判断循环。根据lock_u的值确定用户是否被锁。
lock = open('lock', 'r')
for lock_u in lock.read().split(' '):
if user == lock_u :
print('User %s is in a locked state' %user)
lock_u = 'yes'
break
lock.close()
if lock_u == 'yes': continue
passwd = input('password-->:')
if passwd == user_dic[user]['password']:
print('Login successfully!')
break
else:
print('Password error')
if user_dic[user]['count'] < 3:
user_dic[user]['count'] += 1
else:
lock = open('lock', 'a')
lock.write(user+' ')
print('User %s has been locked' %user)
break
else:
print('Username does not exist.')
total_error+=1

原文地址:https://www.cnblogs.com/jinyudong/p/7496004.html