在 python 中创建登录功能时遇到问题

Trouble with making a login function in python

您好,我是一名学生,我在这里研究了很长时间,无法找到有关如何使此登录页面实际工作的答案。我找到的所有页面都以不同的方式制作它们,这些方式对我不起作用。任何脱离此代码的人都可以推动我走上正确的轨道来创建它。不过,我的注册页面可以正常工作了。

def signup():
    
    users = open("login_signup.txt","a")
    user = []
    username = input("What do you want your username to be?: ")
    password = input("What do you want your password to be?: ")
    user.append(username)
    user.append(password)
    users.write(username + "," + password)
    users.write("\n")

    print("You have successfully signed up")


def login():
    
    with open("login_signup.txt","r") as users:
        
        usersusername = input("What is your username?: ")
        userspassword = input("What is your password?: ")

顺便说一下,文件中文本的格式是:用户名、密码

然后在下一个人要创建一个帐户后,它会转到一个新行。

感谢任何能提供帮助的人:)

由于您仍然遇到问题,因此可以对您的代码进行修改。

def signup():
    
    with open("login_signup.txt","a") as users: # context manager is preferred over pure open/close
        #user = []                              # not used so remove
        username = input("What do you want your username to be?: ")
        password = input("What do you want your password to be?: ")
        #user.append(username)                  # not used so remove
        #user.append(password)                  # not used so remove
        users.write(username + "," + password)
        users.write("\n")

        print("You have successfully signed up")


def login():
    
    usersname = input("What is your username?: ")
    userspassword = input("What is your password?: ")
  
    with open("login_signup.txt", "r") as users:

        for line in users:                              # iterating over login file a line at a time
            login_info = line.rstrip().split(',')       # rstrip() removes the '\n' at end of string
                                                        # split(',' split string on comma 
            if usersname == login_info[0] and userspassword == login_info[1]:
                print("Correct credentials!")
                return True
        
    print("Incorrect credentials.")
    return False

例子运行

sigup()
# Out:
#     What do you want your username to be?: john
#     What do you want your password to be?: paul
#     You have successfully signed up


login()
# Out:
#    What is your username?: john
#    What is your password?: paul
#    Correct credentials!
#    True