python - 如何检查 txt 文件中的每一行是否有正确的用户名和密码

标签 python loops text nested passwords

此任务的目的是检查 user.txt 文件中的每一行(包含一个列表 用户名和密码)

然后程序应该将输入的用户名和密码与 txt 文件中的每一行进行比较 如果没有找到任何匹配的用户名和密码,则会显示一条错误消息,如果找到,则循环应该中断

user.txt
Steve steve123
Eddie ed123
Dexter dex123

我尝试了几乎所有我能想到的事情。

尽管我几乎确信问题出在循环中。

似乎只比较txt文件中的最后一行

我对此还很陌生,所以请怜悯:)

有关如何让程序检查用户输入是否与每行文本匹配的任何提示。 另外,txt 文件可以随时更改或添加,如果不是的话,我可以使用行索引来完成此操作。


content = ""
user_List = []


while True:

    print("Username")
    username = input()
    print("Password")
    password = input()
    name_pass = username + " " + password

    with open("user.txt" , "r+") as f:
        for line in f:
            if name_pass == line:
                
                x = False
            else:
                x = True

    if x == False:
        print("Wellcome")
        break
    elif x == True:
        print("Incorrect Username or Password \nPlease try again")


    

最佳答案

问题一定是,当您迭代该行时,该行将以\n 结尾,因为在您的 txt 文件中,有一个嵌入的返回,而您看不到\n! 。要验证这一点,您可以在“for line in f”语句之后添加此语句“print(repr(line))”。 repr 函数(表示)将显示字符串而不去掉\n。 如果是这种情况,您只需这样验证:if name_pass == line[:-1],我很确定您理解最后一条语句啊哈哈;)

关于python - 如何检查 txt 文件中的每一行是否有正确的用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71661961/

相关文章:

python - 如何使用 PyMySQL 获取 MySQL 类型的错误?

python - 在 Spyder IDE 中使用 Matplotlib 绘制内联或单独的窗口

java - 循环序列停止

c++ - 跨平台换行混淆

VBA脚本检查文本文件是否打开

python - 在 Twisted 中使用 DeferredQueue 进行任务间通信

python - Bash 在执行命令之前删除输出文件

swift - 如何在一系列问题的标签中显示下一个问题

iphone - objective-c : for-loop gets slower and slower

OpenCV,非特定文本