精华内容
下载资源
问答
  • 需求:输入用户名,判断用户是否被锁定,锁定则退出,否则进入密码验证,输入三次错误密码之后此用户被锁定。 userlist.txt里,用":"将... [root@o2-test ~]# cat userlist.txt ...代码: 1 #!/usr/bin/...

    需求:输入用户名,判断用户是否被锁定,锁定则退出,否则进入密码验证,输入三次错误密码之后此用户被锁定。

    userlist.txt里,用":"将用户名、密码、状态码分开:

    [root@o2-test ~]# cat userlist.txt 
    张三:123:0
    李四:456:0
    admin:123:0
    qqq:123:0

     

    代码:

     1 #!/usr/bin/env python
     2 # -*- coding=utf-8 -*-
     3 __author__ = 'gmk'
     4 
     5 import sys
     6 import fileinput
     7 import getpass
     8 
     9 #打开用户列表, 只读
    10 fileinfo = file('userlist.txt','r')
    11 user_file = fileinfo.readlines()
    12 fileinfo.close()
    13 
    14 #定义字典 {'张三':['123','1'],...}
    15 userdict = {}
    16 for line in user_file:
    17     # userinfo = ['张三','123','0']
    18     userinfo = line.strip().split(":")
    19     # userdict['张三'] = []
    20     userdict[userinfo[0]] = [userinfo[1],userinfo[2]]
    21 
    22 
    23 #验证用户名
    24 def verify_user(inputname):
    25     #用户名为空
    26     if inputname == '':
    27         inputname = raw_input('用户名不能为空,请输入用户名:').strip()
    28         verify_user(inputname)
    29     #用户名不存在
    30     elif inputname not in userdict:
    31         inputname = raw_input('用户不存在,请重新输入用户名:').strip()
    32         verify_user(inputname)
    33     else:
    34         #用户名正确,判断是否锁定
    35         if userdict[inputname][1] == '1':
    36             print '此用户已锁定,请联系管理员!'
    37             sys.exit()
    38         else:
    39         #用户未锁定,进入密码判断
    40             print '用户名正确!'
    41             verify_pwd(inputname)
    42 
    43 
    44 #验证密码
    45 def verify_pwd(okname):
    46     pwdinfo = getpass.getpass('请输入密码:').strip()
    47     i = 2
    48     while True:
    49         if pwdinfo == userdict[okname][0]:
    50             print '%s 欢迎回来!' % okname
    51             sys.exit()
    52         elif pwdinfo == '':
    53             pwdinfo = getpass.getpass('密码不能为空,请输入密码:').strip()
    54         else:
    55             if i > 0:
    56                 pwdinfo = getpass.getpass("密码错误,您还有 %d 次机会,请重新输入密码:" %i)
    57                 i -= 1
    58             else:
    59                 update_file(okname)
    60                 print '密码输入超过三次,用户被锁定!'
    61                 sys.exit()
    62 
    63 #更新文件内容,锁定用户
    64 def update_file(okname):
    65     #旧的字符串   admin:123456:0
    66     old_str = ':'.join([okname,userdict[okname][0],str(userdict[okname][1])])
    67     #设置锁定标识
    68     userdict[okname][1] = 1
    69     #新的字符串   admin:123456:1
    70     new_str = ':'.join([okname,userdict[okname][0],str(userdict[okname][1])])
    71 
    72     #替换用户状态信息
    73     for line in fileinput.input('userlist.txt',inplace=1):
    74         print line.strip().replace(old_str,new_str)
    75     fileinput.close()
    76 
    77 
    78 user_input = raw_input('欢迎使用员工后台系统!请输入用户名:').strip()
    79 verify_user(user_input)
    View Code

    运行结果:

     1 [root@o2-test ~]# python login.py 
     2 欢迎使用员工后台系统!请输入用户名:
     3 用户名不能为空,请输入用户名:qweqwerqwer
     4 用户不存在,请重新输入用户名:qqq
     5 用户名正确!
     6 请输入密码:
     7 密码不能为空,请输入密码:
     8 密码错误,您还有 2 次机会,请重新输入密码:
     9 密码不能为空,请输入密码:
    10 密码不能为空,请输入密码:
    11 密码错误,您还有 1 次机会,请重新输入密码:
    12 密码输入超过三次,用户被锁定!
    13 [root@o2-test ~]# python login.py 
    14 欢迎使用员工后台系统!请输入用户名:qqq
    15 此用户已锁定,请联系管理员!
    16 [root@o2-test ~]# python login.py 
    17 欢迎使用员工后台系统!请输入用户名:admin
    18 用户名正确!
    19 请输入密码:
    20 admin 欢迎回来!

    userlist.txt结果:

    1 [root@o2-test ~]# cat userlist.txt 
    2 张三:123:0
    3 李四:456:0
    4 admin:123:0
    5 qqq:123:1

     

    转载于:https://www.cnblogs.com/mkuu/p/4953147.html

    展开全文
  • 本文实例为大家分享了Python模拟用户登录验证的具体代码,供大家参考,具体内容如下 1.功能简介 此程序模拟用户登录验证的过程,实现用户名输入、黑名单检测、用户有效性判别、密码输入及验证等。用户在3次以内输入...
  • 模拟用户登录(3次登录机会) 目标: 用户登录,失败->告诉用户登录错误 成功->告诉用户登录成功 1. 声明用户名和密码->数据库里的内容 2. 用户输入用户名和密码 input()->和数据库的内容比较 3. 成功->...

    模拟用户登录(3次登录机会)

    目标: 用户登录,失败->告诉用户登录错误  成功->告诉用户登录成功
    1. 声明用户名和密码->数据库里的内容
    2. 用户输入用户名和密码 input()->和数据库的内容比较
    3. 成功->登录成功|失败->还有几次机会|机会用尽了->登录失败
    

    代码实现

    # 模拟用户登录(3次登录机会)
    '''
        目标: 用户登录,失败->告诉用户登录错误  成功->告诉用户登录成功
        1. 声明用户名和密码->数据库里的内容
        2. 用户输入用户名和密码 input()->和数据库的内容比较
        3. 成功->登录成功|失败->还有几次机会|机会用尽了->登录失败
    '''
    
    # 数据库的内容
    username = 'woshishui'
    password = '123456'
    
    # 1. 程序开始执行 友好的用户提示
    print("欢迎来到大话西游")
    
    i = 1  # 计数器
    while i <= 3:
        # 2. 用户输入用户名和密码
        username1 = input('请输入用户名:')
        password1 = input('请输入密码:')
        i += 1
    
        # 3. 内容比对
        if username == username1 and password == password1:
            print("你太厉害了!")
            print("=" * 30)
            print("登录成功")
            break  # 终止程序
        else :
            print("用户名或密码错误!您还有%d次机会!" % (4 - i))
            t = 4 - i
    
    # 4. 判断用户的机会是否已用尽
        if t == 0:
            print("废物,用户名和密码都记不住!")
            break
    
    

    效果:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。 Python由Guido van Rossum于1989年底发明,第...下面给大家分享示例代码,给大家介绍python 3.0 模拟用户登录功能并实现三次错误锁定,具体代码如下
  • 代码 #!/usr/bin/env python # @FileName :password.py # @Time :2020/2/2 15:31 ...# @Function :模拟用户登录 import getpass #正确的用户名和密码 _username = 'aqx' _password = '123456' name = ...

    代码

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # @FileName  :user_login.py
    # @Time      :2020/2/8 10:09
    # @Author    :anqixiang
    # @Function  :1.输入用户名密码     2.认证成功显示欢迎信息     3.输错三次后锁定  
    #			  4.执行python user_login.py -unlock 用户 #解锁用户
    
    import os
    import sys
    import getpass
    
    user_pwd = {'bob': '123456', 'tom': 'abc123', 'jack': 'abc456'}		#保存用户名和密码
    lock_file = '/opt/lock_user.txt'									#保存被锁账号文件
    user_list = []		#保存已有用户的列表
    
    #将用户名/密码保存到一个文件
    def save_user_pwd():
    	save_file = '/opt/user_info.txt'		#保存用户名/密码文件
    	if os.path.isfile(save_file):
    		f = open(save_file, 'r+')
    		f.truncate()						#清空文件内容
    	for user, pwd in user_pwd.items():
    		with open(save_file, 'a+') as file:
    			file.write('%s:%s\n' % (user, pwd))
    		user_list.append(user)
    
    #获取锁定的用户
    def get_lock_user():
    	if os.path.isfile(lock_file):
    		lock_list = []
    		all_lock_list = []								#保存被锁的用户
    		with open(lock_file, 'r') as file:
    			for each in file:
    				lock_list.append(each.splitlines())		#生成一个嵌套列表
    		for i in range(len(lock_list)):
    			buf_user = str(lock_list[i][0])				#列表转为字符串
    			all_lock_list.append(buf_user)
    		return all_lock_list
    
    #解锁用户
    def remove_lock_user(username):
    	current_lock_user = get_lock_user()		#当前被锁的用户
    	if username in current_lock_user:
    		current_lock_user.remove(username)
    		f = open(lock_file, 'r+')
    		f.truncate()
    		for i in current_lock_user:
    			with open(lock_file, 'a+') as fobj:
    				fobj.write('%s\n' % i)
    		print('%s已解锁!!!' % username)
    	else:
    		print('%s没有被锁定' % username)
    
    #用户登录
    def user_login():
    	login_num = 0		#统计登录次数
    	username = input('username: ')
    	if username not in user_list:
    		print('%s不存在!' % username)
    		exit(71)
    	elif username in get_lock_user():
    		print('%s被锁定!' % username)
    		exit(71)
    	print('输错三次后锁定!!!')
    	while login_num < 3:
    		password = getpass.getpass('password: ')
    		if password == user_pwd.get(username):
    			print('Welcome %s login......' % username)
    			break
    		print('Authentication failure')
    		login_num += 1
    	else:
    		with open(lock_file, 'a+') as file:
    			file.write('%s\n' % username)
    		print('you already try three,your account locked!')
    
    if __name__ == '__main__':
    	save_user_pwd()
    	if len(sys.argv[:]) == 1:
    		user_login()
    	elif len(sys.argv[:]) == 3 and sys.argv[1] == '-unlock':
    		remove_lock_user(sys.argv[2])
    		user_login()
    	else:
    		print('输入有误!')
    

    登录成功

    在这里插入图片描述

    用户被锁

    在这里插入图片描述

    解锁用户,再次登录

    在这里插入图片描述

    展开全文
  • Python模拟一个用户登录系统

    千次阅读 2018-06-25 15:06:03
    题目:模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统直接上代码:#模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统 d=['yao','123456'] while 1: name =input("请...

    题目:模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统

    直接上代码:

    #模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统
    d=['yao','123456']
    
    while 1:
        name =input("请输入用户名:")
        if name in d:
            break
        else:
            print("你输入的用户名不存在,请重新输入")
    
    count=3
    while 1:
        password=input("请输入密码:")
        if d[1]==password:
            print ("登录成功!")
            break
        else:
            print("你输入的密码不正确,请重新输入")
            count-=1
            if count == 0:
                print('已锁定!')
                break
            print("还可以再输入%d次" % (count))
    

    执行程序效果

    密码错误时:


    密码正确时:





    展开全文
  • Python模拟登录淘宝

    千次阅读 2019-09-18 14:52:37
    最近想爬取淘宝的一些商品,但是发现如果要使用搜索等一些功能时基本都需要登录,所以就想出一篇模拟登录淘宝的文章! 淘宝登录就比较复杂,为什么说复杂呢?因为淘宝登录涉及参数多且请求不止一次!我们就先来讲讲...
  • 本文实例为大家分享了python模拟登录图书馆的具体代码,供大家参考,具体内容如下 模拟表单提交的原理: 我们都知道Http是无状态的,所以当我们提交的数据和浏览器中正常提交一样,那么服务器就会返回和浏览器中一样...
  • Python模拟用户自动登陆网易126邮箱

    千次阅读 2016-07-13 22:14:52
    Python模拟用户自动登陆网易126邮箱的源码详解,在这里主要来和大家讲一讲,关于利用Python程序来实现自动登录(登陆)网易的126邮箱email的源码与方法,其它邮箱可以借鉴此Python程序代码发邮件。 涉及到Python针对...
  • 这个程序是唯一一次不看老师代码,自己敲出来的,敲出来后还是有报错的,但是以自己现在的能力水平自己不知道如何改进,也希望各位网友可以提出来,谢谢。其实老师的程序也不是面面俱到,也是有很多的bug,但是可以...
  • python模拟一个简单的用户登录

    千次阅读 2018-02-08 19:19:43
    前景 思路 主要功能 ...然后转念一想,计从心来,自己模拟了一个登录 思路 用一个字典充当数据库 四个方法,分别实现 注册 验证码 登录(验证输入的信息) 将新用户的信息储存进字典里面,密码用m...
  • 本文实例讲述了Python3模拟登录操作。分享给大家供大家参考,具体如下: 模拟登录_要求: 1. 用户输入账号密码进行登录 2. 用户信息保存在文件内 3. 用户密码输入错误三次后锁定用户 逻辑图: 代码: #!/usr/bin/...
  • 经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太...1. python模拟登录淘宝网页 2. 获取登录用户的所有订单详情 3. 学会应对出现验证码的情况 4. 体会一下复杂的模拟登录机制 探...
  • 原理分析模拟登陆: 根据网站源码和抓包请求,分析网站登录原理,用代码依照登录原理向服务器具体接口提交具体数据,实现模拟登录,技术含量最高,难度最大。 浏览器驱动模拟登陆:使用Python调用浏览器驱动,执行...
  • WebDriver是Python的一个用于实现Web自动化的第三方库,WebDriver提供了以下方法来模拟用户登录系统: clear(): 清除文本信息 send_keys(*value): 模拟按键输入 click(): 单击元素 具体实现代码如下所示: #访问...
  • 开发环境:Windows 编辑器:pycharm python环境:3.6基本需求:编写登陆输入用户名密码认证成功后显示欢迎信息输错三次 后退出基本思路:1、定义用户以及密码2、定义登录次数3、使用while循环实现次数的判断 4、...
  • 当我们试图从新浪微博抓取数据时,我们...因为PC版网页源码中包括很多的js代码,提交的内容也更多,不适合机器模拟登录。 我们实现微博登录的大体思路是这样的: 用抓包工具把正常登录时要提交的字段都记录下来; ...
  • 验证登录用户信息 二:导入库base pip install base64 三:代码 import requests import re import base64 #requests.Session这个类帮我们去实现cookie保持 session = requests.Session() #
  • pycharm+chrome模拟登录爬取百度图片(附加使用代理IP) 具体工具如下 pycharm,python3.7,selenium库,request库,os文件库,re模块的正则表达式运用,自行下载chromedriver自测软件 具体步骤如下 ①爬虫爬取...
  • 一、完整代码 import unittest, time from selenium import webdriver class RegisterNewUser(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() self.driver.implicitly_wa...
  • 首先在火狐浏览器上登录知乎...使用下边代码检验是否是模拟登录用户的请求: import requests import re headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.
  • 当我们试图从新浪微博抓取数据时,我们会...因为PC版网页源码中包括很多的js代码,提交的内容也更多,不适合机器模拟登录。 我们实现微博登录的大体思路是这样的: 用抓包工具把正常登录时要提交的字段都记录下来
  • 首先在火狐浏览器上登录知乎,然后使用火狐浏览器插件 Httpfox 获取 GET 请求的Cookie,这里注意使用状态值为 200(获取成功)的某次GET. ...使用下边代码检验是否是模拟登录用户的请求: import requests import

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
热门标签
关键字:

python模拟用户登录代码

python 订阅