Maison  >  Article  >  développement back-end  >  Comment implémenter une vérification de connexion (vérification de fichier) en Python

Comment implémenter une vérification de connexion (vérification de fichier) en Python

不言
不言original
2018-09-27 14:59:472635parcourir

本篇文章给大家带来的内容是关于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()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn