Python实现登陆文件验证方法

yipeiwu_com5年前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","111"],["bbb","222"],["ccc","333"]]

f = open("D:\\test.txt","wb")

try:

  pickle.dump(s,f)

except:

  print("输入异常")

finally:

  f.close()

相关文章

使用graphics.py实现2048小游戏

使用graphics.py实现2048小游戏

1、过年的时候在手机上下载了2048玩了几天,心血来潮决定用py写一个,刚开始的时候想用QT实现,发现依赖有点大。正好看到graphics.py是基于tkinter做的封装就拿来练手,并...

Python基于WordCloud制作词云图

Python基于WordCloud制作词云图

这篇文章主要介绍了python基于WordCloud制作词云图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 导入需要的包pac...

浅谈dataframe中更改列属性的方法

在读取文件时将整数变量读成了字符串, 或者需要转换列属性时,通过方法astype Python中 举例: dataframe.numbers=dataframe.numbers.as...

解决pycharm无法调用pip安装的包问题

问题:pycharm无法调用pip安装的包 原因:pycharm没有设置解析器 解决方法: 打开pycharm->File->Settings->Project Int...

Python字典常见操作实例小结【定义、添加、删除、遍历】

本文实例总结了Python字典常见操作。分享给大家供大家参考,具体如下: 简单的字典: 字典就是键值对key-value组合。 #字典 键值对组合 alien_0 ={'color...