Home >Backend Development >Python Tutorial >How to implement a login verification (file verification) in Python

How to implement a login verification (file verification) in Python

不言
不言Original
2018-09-27 14:59:472662browse

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

The above is the detailed content of How to implement a login verification (file verification) in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn