pyhton学习,day1作业,用户名密码登录模块
要求,通过用户名密码登录,登录错误3次,锁定用户名
# coding=utf-8
# Author: RyAn Bi import os, sys #调用系统自己的库 accounts_file = 'E:\\homework\\user.txt' # 存放用户名密码的位置
lock_file = 'E:\\homework\\lock.txt' #存放锁定用户名的位置
print('accounts_file:', accounts_file)
'''
temp1 = open(accounts_file,'a') #a为加入
temp1.write('bjb,123'+'\n')
temp1.close() #写入用户名密码的功能,在登录的时候不用
'''
user = open(accounts_file, 'r') #r为只读
# print('user:',user)
account_list = user.readlines() #逐行按分隔符阅读,readline是逐字节阅读
# print('account_list:',account_list)
user.close() #读取用户名和密码到内存中 user1 = open(lock_file, "r")
lock_list = user1.readlines()
# print(lock_list)
user1.close() #读取被锁定的用户名到内存中
loginSucess = False #默认将loginSucess置为假
while True:
username = input('username:').strip() #.strip是去除空格和\n
lockid = 0 #锁定用户标识值为零,不锁定
if len(username) != 0: #假如用户名不为空
for i in lock_list:
# i = i.split(' ') #i的分割符为空格
# print(i)
if username == i.strip():
print('your username %s is locked!' % username)
lockid = 1
break # 判断该帐号是否被锁定
for i in account_list:
# print(i)
if lockid == 1: #被锁定了禁止执行
break
else:
i = i.split(',')
# print(i)
if username == i[0]:
for x in range(3):
password = input('password:').strip()
if password == i[1].strip(): # 去掉空格和换行符
loginSucess = True
# print('you are right')
break #验证3次密码,成功了置 loginsuccess 为真
else:
print('%s,you input wrong password 3 times,your %s is locked!' % (username, username))
l = open(lock_file, 'w') #w只允许写入,以写入方式打开locklist
if l != "":
l = open(lock_file, 'a') #假如是locklist中有内容,用添加方式打开locklist,避免空白行
l.write(username + '\n') #将用户名写入
l.close()
lockid = 1
# view = open(lock_file)
# print(view.read())
if loginSucess is True:
print('welcome to system')
break
elif lockid == 0:
print('you input a wrong username,pls input again')
else:
# print('%s,you input wrong password 3 times,your %s is locked!' % (username, username))
break
else: # 用户名输入为空的时候
continue
pyhton学习,day1作业,用户名密码登录模块的更多相关文章
- Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作
# -*- coding: gb2312 -*- #用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作 #作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.co ...
- day1作业:编写登录窗口一个文件实现
思路: 1.参考模型,这个作业我参考了linux的登录认证流程以及结合网上银行支付宝等锁定规则: 1)认证流程参考的是Linux的登录:当你输入完用户名密码后再验证用户名是否存在用户是否被锁定,然后在 ...
- 用户名密码登录小程序及input与raw_input区别。
一.此次程序需要实现: 1.设定固定的用户名密码 2.用户名密码输入正确打印登录正确信息 3.仅仅运行三次登录 二.本次使用的python版本为: Windows下版本号: C:\Users\dais ...
- cassandra根据用户名密码登录cqlsh
修改conf目录下cassandra.yaml文件 authenticator: PasswordAuthenticator //将authenticator修改为PasswordAuthentic ...
- 学习笔记48_Memcache跟用户登录模块结合
public interface ICacheWriter { void AddCache(string key,object value, DateTime expDate); void Add ...
- Spring Security之用户名+密码登录
自定义用户认证逻辑 处理用户信息获取逻辑 实现UserDetailsService接口 @Service public class MyUserDetailsService implements Us ...
- SpringSecurity实现用户名密码登录(Token)
传统的应用是将Session放在应用服务器上,而将生成的JSESSIONID放在用户浏览器的Cookie中,而这种模式在前后端分离中就会出现以下问题 1,开发繁琐. 2,安全性和客户体验差 3,有些前 ...
- 【Python练习】文件引用用户名密码登录系统
一.通过txt文件引入用户名密码 1 #coding=utf-8 from selenium import webdriver #from selenium.common.exceptions imp ...
- 【转】IIS网站浏览时提示需要用户名密码登录-解决方法
打开iis,站点右键----属性----目录安全性----编辑----允许匿名访问钩选 IIS连接127.0.0.1要输入用户名密码的解决办法原因很多,请尝试以下操作: 1.查看网站属性——文档看看启 ...
随机推荐
- ionic中隐藏header
设置ion-view标签的hide-nav-bar属性为true <ion-view hide-nav-bar="true"> <ion-content> ...
- Ant工具 ant的安装与配置 ant作用
原文出自:http://blog.csdn.net/zhuche110/article/details/2663904点击打开链接 Ant是一种基于Java的build工具.理论上来说,它有些类似于( ...
- c++ list 容器
List vector在STL中是一个双向链表,它的内部结构和vector 或 deque截然不同.主要有以下几点: 1.List不支持随机存取.list没有提供下标操作符和at()的访问. 2.任何 ...
- Junit问题01 利用 @Autowired 注入失效问题
1 利用 @Autowired 注入失效问题 1.1 问题描述 在使用Junit作为测试框架的单元测试中,直接了用@Autowired记性依赖注入时总是注入失败 1.2 问题原因 在测试类中没有设定上 ...
- WCF4.0 –- RESTful WCF Services
转自:http://blog.csdn.net/fangxinggood/article/details/6235662 WCF 很好的支持了 REST 的开发, 而 RESTful 的服务通常是架构 ...
- 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别(转)
因CooCox用户数及影响力越来越大,CooCox团队也逐渐提高了对软件及代码协议的重视.在收集整理的过程中,一些归纳好的信息和大家分享一下.首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源 ...
- javascript总结2: Date对象
1 Date 对象 Date 对象用于处理日期与时间. Date()的方法很多,这里只总结工作必备的方法! 2 常用方法 创建个 Date 对象:const mydate=new Date(); &l ...
- C# JSON使用的常用技巧(二)
JSON在php里一句json_encode就可以得到 在C#里我们同样也很容易的可以得到 用到的类库:Newtonsoft.Json.dll 实体类: class Cat { public stri ...
- 对request,session,application作用域形象理解
看到一篇比较有意思的文章,分享一下.原网址:http://blog.csdn.net/rushkid02/article/details/8063792 几乎所有的Web开发语言都支持Session功 ...
- Hacker News排名算法工作原理
这篇文章我要向大家介绍Hacker News网站的文章排名算法工作原理,以及如何在自己的应用里使用这种算法,这个算法非常简单,但却在突出热门文章和遴选新文章上表现的非常优秀.本质上,这段Hacker ...