专栏首页python3Python实现简单登陆验证(文件操作)

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","111"],["bbb","222"],["ccc","333"]]
f = open("D:\\test.txt","wb")
try:
    pickle.dump(s,f)
except:
    print("输入异常")
finally:
    f.close()

参考内容:Python怎样import另一个py文件,导入py文件

Python数据持久存储:pickle模块的基本使用

2018-09-26 17:50:01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python3多进程实现

    python多进程的主要方式有两种,一种是使用os模块的fork方法,另一种方法是使用multiprocessing模块,这两种方法的就别在于前者仅适用于Uni...

    py3study
  • python3 猜数字游戏

    py3study
  • python粗谈面向对象(二)

    super并不是一个函数,是一个类名,形如super(B, self)事实上调用了super类的初始化函数,产生了一个super对象;Python的多继承类是通...

    py3study
  • 清清爽爽理解Python装饰器

    不知不觉已经连续写了13天了,很享受每天写公众号这个过程,通过写作将自己每天学习的Python知识分享出来,但是学习的东西是零散的,需要自己通过一定的逻辑顺序将...

    stormwen
  • Python3 找素数

    脑袋一热,想看一下300以内的最大素数是多少,就写了一个。 注意:对正整数n,如果用2到n的平方根之间的所有整数去除,均无法整除,则n为质数(素数)。

    py3study
  • 算法之旅 | 快速排序法

    HTML5学堂-码匠:前几期“算法之旅”跟大家分享了冒泡排序法和选择排序法,它们都属于时间复杂度为O(n^2)的“慢”排序。今天跟大家分享多种排序算法里使用较广...

    HTML5学堂
  • 注意力机制不能提高模型可解释性?不,你这篇论文搞错了

    注意力机制在 NLP 系统中起着重要作用,尤其是对于循环神经网络(RNN)模型。那么注意力模块提供的中间表征能否解释模型预测的推理过程,进而帮助人们了解模型的决...

    机器之心
  • VS2017搭建驱动开发环境WDK

    先安装VS2017,然后在安装WDK,WDK会自动关联到VS2017中,不用你任何操作,自动在新建项目中可以找到驱动开发。

    战神伽罗
  • 在Keras中展示深度学习模式的训练历史记录

    通过观察神经网络和深度学习模型在训练期间的表现,你可以得知很多有用的信息。 Keras是Python中强大的库,为创建深度学习模型提供了一个简单的接口,并包装了...

    AiTechYun
  • 职播回顾 | 国外都在用虹膜黑科技?这位20年从业者和你聊聊这项神秘技术

    「职播间」第15讲邀请到了聚虹光电创始人、虹膜识别领域知名科学家宫雅卓来做主题为「现代虹膜技术及其应用」的分享。

    AI研习社

扫码关注云+社区

领取腾讯云代金券