zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    shutil的一些基本用法
    python用random产生验证码,以及random的一些其他用法
    hashlib 文件校验,MD5动态加盐返回加密后字符
    python中logging日志基本用法,和进程安全问题
    用递归函数得到目录下的所有文件
    python装饰器
    列表推导式三种模式和生成器
    vue.js响应式原理解析与实现
    Promise详解
    三分钟教你同步 Visual Studio Code 设置
  • 原文地址:https://www.cnblogs.com/jinyudong/p/7496004.html
Copyright © 2011-2022 走看看