Python实现简单登陆验证(文件操作)
利用python编写一个简单的登陆验证
代码主要功能:
利用Python实现简单的登陆验证,代码主要有两个部分组成:
第一部分:登陆页面,作用是实现用户名和密码的输入
利用两个输入函数input()来实现对用户名和密码的输入
第二部分:文件验证,作用是对输入的信息进行验证
1.用户名的验证,首先对存储用户名和密码的信息读取,然后再把输入的用户名和从文件中读取的用户名进行比对,如果比对成功则进行下一步的密码验证,如果没有实现则提示重新输入密码,对密码的验证也有一个输入上限,当密码输入错误3次,程序退出。否则验证成功。
登陆页面代码:
import text #text为文件名:text.py 用来实现文件验证
print("欢迎使用登陆")
username = input("请输入用户名:")
while text.CheckUsername(username)==-1:
username = input("没有该用户\n请输入用户名:")
else:
n=text.CheckUsername(username)
password = input("请输入密码:")
text.CheckUser(n,password)
文件验证代码:
import pickle
def CheckUsername(name):#检验是否有该用户名
ff = open("D:\\test.txt", "rb")
n = pickle.load(ff)
# print(n)
# print(n[0][0])
# print(len(n))
ff.close()
for i in range(len(n)):
if name == n[i][0]:
return i
return -1#用来返回用户名所在位置
def CheckUser(x,psd):#x为用户名位置,pwd为密码
ff = open("D:\\test.txt", "rb")
n = pickle.load(ff)
# print(n)
# print(n[0][0])
# print(len(n))
ff.close()
i=1
while n[x][1]!=psd and i<3:
psd=input("请再次输入密码:")
i+=1
else:
if i<3:
print("登陆成功!")
else:
print("3次输入密码错误!已锁定")
运行结果截图:
成功登陆页面:

验证用户名页面:

验证密码页面:

附加内容:
用户名和密码在文件的存储方式是一个列表:
import pickle
s=[["aaa",""],["bbb",""],["ccc",""]]
f = open("D:\\test.txt","wb")
try:
pickle.dump(s,f)
except:
print("输入异常")
finally:
f.close()
参考内容:Python怎样import另一个py文件,导入py文件
2018-09-26 17:50:01
Python实现简单登陆验证(文件操作)的更多相关文章
- python通过SSH登陆linux并操作
使用python通过SSH登陆linux并操作 用的昨天刚接触到的库,在windows下通过paramiko来登录linux系统并执行了几个命令,基本算是初试成功,后面会接着学习的. 代码: > ...
- (Python )格式化输出、文件操作、json
本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...
- python 集合、函数和文件操作
1.set集合 set集合是一个无序.不可重复.可嵌套的序列,基本功能是进行成员关系测试和删除重复元素,可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不 ...
- 使用 Python 进行稳定可靠的文件操作
程序需要更新文件.虽然大部分程序员知道在执行I/O的时候会发生不可预期的事情,但是我经常看到一些异常幼稚的代码.在本文中,我想要分享一些如何在Python代码中改善I/O可靠性的见解. 考虑下述Pyt ...
- python的学习笔记01_5文件操作
一,文件操作基本流程. 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...
- Python之字符编码与文件操作
目录 字符编码 Python2和Python3中字符串类型的差别 文件操作 文件操作的方式 文件内光标的移动 文件修改 字符编码 什么是字符编码? ''' 字符编码就是制定的一个将人类的语言的字符与二 ...
- python学习 day07打卡 文件操作
本节主要内容: 初识文件操作 只读(r,rb) 只读(w,wb) 追加(a,ab) r+读写 w+写读 a+追加写读 其他操作方法 文件的修改以及另一种打开文件句柄的方法 一. 初识文件操作 使用py ...
- python教程(八)·文件操作
由于离高考越来越近,博主打算本篇文章过后,暂停本系列教程的更新,等到高考完后再继续本系列教程,请谅解! 这次我们学习用python操作文件,包括文件的读.写等-- 操作文件第一步--打开文件 要想操作 ...
- NO.3:自学python之路------集合、文件操作、函数
引言 本来计划每周完成一篇Python的自学博客,由于上一篇到这一篇遇到了过年.开学等杂事,导致托更到现在.现在又是一个新的学期,春天也越来越近了(冷到感冒).好了,闲话就说这么多.开始本周的自学Py ...
随机推荐
- samba性能调优
不知道有多少公司的内部打印及文件服务器是用的Linux,我想肯定不会太多,因为Windows实现起来更方便,更快速,当然,Windows也 是更Danger. 因为Windows有太多不确定性的东西, ...
- 7_python之路之python计算器
7_python之路之python计算器 1.程序说明:Readme.cmd 1.程序文件及说明: calculator.py 2.python版本:python-3.5.3 3.程序使用:pytho ...
- Application.streamingAssetsPath
[Application.streamingAssetsPath] This API contains the path to the StreamingAssets folder (Read Onl ...
- push和pop指令的使用
- METAL渲染是什么?
METAL渲染是什么? Metal渲染是由苹果公司为iOS8以及更新版本开发的全新的底层渲染API.它侧重于减少GPU驱动的工作量,从而当Metal调用时,CPU的消耗将降至最低.这样一来,游戏就可以 ...
- JAVA高并发线程
一.JAVA高级并发 1.5JDK之后引入高级并发特性,大多数的特性在java.util.concurrent 包中,是专门用于多线程发编程的,充分利用了现代多处理器和多核心系统的功能以编写大规模并发 ...
- dedecms导出csv文件
1.mshd_orderlist.tpl <form id="frm" method="GET" action="mshd_orderlist. ...
- linux网络编程模型
1.编程模型 Linux网络编程模型是基于socket的编程模型
- Java程序设计19——类的加载和反射-Part-A
1 本文概要 本章介绍Java类的加载.连接和初始化的深入知识,并重点介绍Java反射相关的内容.本章知识偏底层点,这些运行原理有助于我们更好的把我java程序的运行.而且Java类加载器除了根加载器 ...
- Executing a Finite-Length Task in the Background
[Executing a Finite-Length Task in the Background] Apps that are transitioning to the background can ...