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('\n'):
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+'\n')
print('User %s has been locked' %user)
break
else:
print('Username does not exist.')
total_error+=1
python练习--1、简易登录接口的更多相关文章
- 用python编写简易登录接口
需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 可以支持多个用户登录 用户3次认证失败后,退出程序,再次启动程序尝试登陆时,还是锁定状态 下面是我写的代码,如果有BUG或者不 ...
- Python接口测试中通过登录接口获取实时token
1.封装login_token 2.headers:对应登录请求头部信息 3.request_param:登录的参数数据 4.json.dumps:将一个Python数据结构转换为JSON 5.dic ...
- Python requests 调Jenkins登录接口,返回404,但请求地址、请求头、消息主题和抓包的内容都一样
#coding=utf-8import requests url = "http://localhost:8080/jenkins/j_acegi_security_check"h ...
- 关于python怎样编写登录接口
把今天的成果展示下,关于怎么用python编写登录接口, 要求是 1.输入用户名和密码 2.输错三次密码就锁定用户 3.认证成功后输出欢迎信息 账号文件内容如下: sanjiang sanjian ...
- 190327 Python登录接口
#!Author:John # _*_ coding: utf-8 _*_ #编写登录接口 #输入用户名密码 #认证成功后显示欢迎信息 #输错三次后锁定 import sys, os, getpass ...
- python基础一之课后作业:编写登录接口
1 # Author : Mamba 2 3 #python基础一之课后作业:编写登录接口 4 5 # 输入用户名密码 6 # 认证成功后显示欢迎信息 7 # 用户名3次输入错误后,退出程序 8 # ...
- (转)python编写登录接口
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://506554897.blog.51cto.com/2823970/1907262 ...
- Python+request 登录接口reponse的返回值token跨py文件的传递《二》
主要使用场景: 一般我们在进行接口测试时,依赖登录接口后reponse中的某些返回值,因此需要将login接口单独写一个py文件,另外的py文件均可调用login的reponse返回值使用.共用登录接 ...
- Python+request 登录接口reponse中token传递给其他接口使用,小示例介绍《一》
要求: 1.调用登录login 2.调用通过登录接口返回的reponse中的token和uuid,实现test_create_todo接口的测试 实现: 1.login登录接口的调用,直接填写对应的U ...
随机推荐
- php 导出Excel 不用安装插件、开启配置
function export_csv($filename, $data) { header("Content-type:text/csv"); header("Cont ...
- Flask - WTF和WTForms创建表单
目录 Flask - WTF和WTForms创建表单 一. Flask-WTF 1.创建基础表单 2.CSRF保护 3.验证表单 4.文件上传 5.验证码 二. WTForms 1. field字段 ...
- Django REST framework - 解析器和渲染器
目录 Django REST framework - 解析器和渲染器 解析器 Django中的数据解析 DRF中的解析器 渲染器 Django REST framework - 解析器和渲染器 解析器 ...
- HTML5 重力感应效果,实现摇一摇效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- noip模拟赛 a
分析:f(n)就是问有多少对a*b*c = n,如果是Σf(i),那就是问有多少对a*b*c <= n. 这道题和之前做过的一道数三角形的题差不多:传送门,先假设一下a <= b < ...
- 嵌入式linux和嵌入式android系统有什么区别和联系?
转自:http://bbs.eeworld.com.cn/thread-430437-1-1.html 这个问题很多人问,尤其是初入嵌入式的菜鸟.其实大家都认为android是java,已经不是lin ...
- 洛谷——P1034 矩形覆盖
https://www.luogu.org/problem/show?pid=1034 题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的 ...
- 一起talk C栗子吧(第七十七回:C语言实例--DIY ls命令续)
各位看官们,大家好.上一回中咱们说的是DIY cat命令的样例.这一回咱们说的样例是:DIY ls命令续. 闲话休提,言归正转.让我们一起talk C栗子吧! 我们在前面的章回中DIY过ls命令.时间 ...
- 使用memcachedclientXmemcached与Spring整合
1 简单介绍 Xmemcached是一个高性能的基于java nio的memcachedclient.在经过三个RC版本号后.正式公布1.10-final版本号. xmemcached特性一览: 1. ...
- extjs的formpanel横向滚动条的解决办法
关于formpanel设置autoscroll:true同时出现横向和纵向滚动条的解决办法: 不要设置autoscroll属性,或者autoscroll:false,然后设置bodyStyle : ' ...