【问题标题】:How to seperate multiple words from a example.txt file to seperate variables in python [duplicate]如何从example.txt文件中分离多个单词以在python中分离变量
【发布时间】:2023-01-25 01:16:27
【问题描述】:

我正在尝试编写一个登录验证器,其中用户名和密码存储在一个单独的文本文件中,我试图让文本文件加载到 Python 上,并将每个单独的单词加载到单独的变量上。

例如,给定以下文本文件:

admin, 1234
bigadmin, 5678

其中 admin 是用户名,1234 是密码,我希望将相同的详细信息加载到 Python 中,但分成两个单独的变量:

username = "admin"
password = "1234"

这是我目前正在使用的解决方案:

tempuserdatabase = open('user.txt')
userdatabase = tempuserdatabase.read().split(",")

username = input("Please enter your username:")
password = input("Please enter your password:")

if username == userdatabase[0] and password == userdatabase[1]:
    print("successful")
else:
    print("Please try again")

这是初始代码然而,这种方法一直没有奏效。 因此,在编写其余代码时,我发现将代码分开并存储到两个不同的变量中更方便,这样我以后就可以使用它,同时最大限度地减少行数。

【问题讨论】:

  • 你不应该用逗号分割整个文件,因为文本中也有换行符。
  • 您需要逐行读取文件。你可以把它变成一个字典,key = username,value = password。然后检查用户名是否存在于字典中,输入的密码是否与该值匹配。

标签: python variables split


【解决方案1】:

您可以尝试为每个用户及其密码使用一行。在一行中,您可以使用空格来分隔用户名和密码...然后您只需逐行读取文件,并使用 split() 方法为每一行分隔登录名和密码。我希望我帮助了你 :-)

tempuserdatabase = open('user.txt')

# Loading dictionari
userDictionary = {}
for userLine in tempuserdatabase:
    userName = userLine.split()[0]
    userPassword = userLine.split()[1]
    userDictionary[userName] = userPassword

print(userDictionary)

# Checking user
username = input("Please enter your username:")
password = input("Please enter your password:")

if username in userDictionary:
    if userDictionary[username]  == password:
        print("successful")
    else:
        print("Please try again")
else:
    print("Please try again")

【讨论】:

    【解决方案2】:

    如果你打印 (userdatabase[1]) 它说你的密码应该是

    ' 1234'
    

    但是如果你使用 .strip()...

    if username == (userdatabase[0]) and password == (userdatabase[1]).strip(): print("successful") else: print("Please try again")

    它可以使用“1234”作为您的密码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      相关资源
      最近更新 更多