从Python中的.txt文件设置变量

从Python中的.txt文件设置变量,python,Python,我不确定这是否是一个重复,因为我环顾四周,但没有什么真正回答我的问题。 我有这个学校作业,我必须在夏天做,第一个任务是制作一个系统,允许用户创建一个帐户,保存到一个.txt,然后他们可以使用他们创建的帐户登录。 我在部分登录时遇到问题,即使我输入了正确的用户名和密码,它也不会让我登录 if neworlog == 2: #Option 2, log in logind = open("UserLoginDetails.txt","r") username = logind.rea

我不确定这是否是一个重复,因为我环顾四周,但没有什么真正回答我的问题。 我有这个学校作业,我必须在夏天做,第一个任务是制作一个系统,允许用户创建一个帐户,保存到一个.txt,然后他们可以使用他们创建的帐户登录。 我在部分登录时遇到问题,即使我输入了正确的用户名和密码,它也不会让我登录

if neworlog == 2: #Option 2, log in
    logind = open("UserLoginDetails.txt","r")
    username = logind.readlines()[0]
    logind.seek(0)
    password = logind.readlines()[1]
    inputusnm = input("Please enter your username:\n")
    inputpswd = input("Please enter your password:\n")
    if inputusnm == username and inputpswd == password:
        print("You are now logged in")
        loggedin = True
    else:
        print("The entered username or password are incorrect")
        print("Please try again")
这是我的代码可能值得畏缩,idk我正在学习登录。 “logind”变量用于.txt,“username”和“password”是文本文件中正确用户名和密码的变量,“inputusnm”和“inputpswd”变量用于输入的用户名和密码

我试过排除故障。我试着只使用一个普通字符串作为“username”和“password”变量,这让我登录,我还试着在他们读取.txt时打印出“username”和“password”变量,它打印出了正确的行/字

这是.txt文件的图片:


我现在有点不知所措,任何帮助都将不胜感激。

可能会对您有所帮助:简单地获取下一行,这样您就不需要进行查找,并剥离清晰的不可见字符

username = next(logind).strip()
password = next(logind).strip()

您有问题吗?如果尝试printreprusername和printreprpassword,您将看到以换行符结尾\n。您可以使用username=username.rstrip'\n'将其删除。当您读入用户名或密码时,它们在末尾包含新行字符-'\n'。你需要摆脱它。可以在这些字符串上使用.strip删除多余的空格。而且你的问题一点也不清楚。以上建议是基于您无法登录的猜测。请编辑问题并明确询问您需要什么?如果您可以将其用于家庭作业,这可能是该模块的完美用例。另外,@Rawing,@ClockSlave是对的。谢谢你指出我并没有真正放下我的问题,我现在已经放下了。小心剥离-这会剥离所有空白,而不仅仅是换行符。用户名或密码以空格开头/结尾的用户将无法登录。谢谢,这很有效,但我会记住这个问题strip@FLAiR很高兴帮助你