Python 登录脚本;用户名和密码位于单独的文件中

标签 python authentication scripting

我正在寻求帮助,让我的 Python 脚本模仿登录功能,同时凭据存储在单独的文件中。

我通过硬编码的用户名和密码让它工作,并且它还读取文件,但我在找出如何将两者链接在一起时遇到了一些困难。

感谢您的帮助。

Python脚本如下:

print "Login Script"

import getpass

CorrectUsername = "Test"
CorrectPassword = "TestPW" 

loop = 'true'
while (loop == 'true'):

    username = raw_input("Please enter your username: ")

    if (username == CorrectUsername):
        loop1 = 'true'
        while (loop1 == 'true'):
            password = getpass.getpass("Please enter your password: ")
            if (password == CorrectPassword):
                print "Logged in successfully as " + username
                loop = 'false'
                loop1 = 'false'
            else:
                print "Password incorrect!"

    else:
        print "Username incorrect!"

我在其他地方找到了这个帮助我读入文件的文件,并且它确实打印了文本文件的内容,但我不确定如何从中取得进展:

with open('Usernames.txt', 'r') as f:
    data = f.readlines()
    #print data

for line in data:
    words = line.split() 

文本文件包含用户名和密码,格式为:Test:TestPW Chris:ChrisPW Admin:AdminPW,每个凭据位于新行上。

正如我之前所说,任何帮助都将不胜感激! 谢谢。

最佳答案

您可以开始拥有用户名和密码的字典:

credentials = {}
with open('Usernames.txt', 'r') as f:
    for line in f:
        user, pwd = line.strip().split(':')
        credentials[user] = pwd

然后你有两个简单的测试:

username in credentials

将告诉您用户名是否在凭据文件中(即,如果它是 credentials 字典中的键)

然后:

credentials[username] == password

关于Python 登录脚本;用户名和密码位于单独的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21560739/

相关文章:

windows - 如何在 Windows 启动时设置 VPN

powershell - Powershell脚本:为ResponseTime创建循环

error-handling - 捕获Expect脚本的退出代码

linux - 使用 bash 在文件中的模式后面插入一行

Python 数字格式化

python - Lambda 表达式 : Returning Multiple Values

java - 核心 Java 应用程序中的安全身份验证和授权

java - Firebase 登录 - 加载卡住

python - 如何在不使用manage.py createsuperuser命令的情况下以编程方式在docker中为django创建 super 用户?

python - 分发 Python 应用程序 "with"a venv