В настоящее время я работаю над программой, в которой вы можете войти и зарегистрироваться, а имя пользователя и пароль хранятся в отдельном файле .txt. Регистрация проходит нормально, имя пользователя и пароль записываются без проблем, но у меня возникают проблемы с чтением из файла в userRegister и userLogin
.txt файле форматируется именем пользователя, паролем , и мне было интересно, как я могу go читать из файла с намерением сравнить loginUsername и loginPassword с username_password и сравнение registerUsername с существующими именами пользователей, чтобы убедиться в отсутствии дубликатов.
username_password = open("savedCredentials.txt", "r+")
option = ()
def startMenu():
option = input("Do you want to [login] or [register] an account?:")
if option == 'login':
return userLogin()
elif option == 'register':
return userRegister()
else:
print("Invalid input, enter either [login] or [register]")
return startMenu()
def userRegister():
registerUsername = input("Enter a username: ")
if registerUsername in username_password:
print("This username is already in use")
userRegister()
else:
registerPassword = input ("Enter a password: ")
if len(registerPassword) < 5:
print("Your password needs to contain 5 or more characters")
registerPassword()
elif " " in registerPassword:
print("Your password cannot contain spaces")
else:
register = open("savedCredentials.txt", "a")
register.write(registerUsername)
register.write(",")
register.write(registerPassword)
register.write("\n")
print("Your username and password have been successfully registered")
def userLogin():
loginUsername = input("Enter your username: ")
if loginUsername in username_password:
loginPassword = input("Enter your password: ")
if loginPassword in username_password:
successfulLogin()
else:
print("This username isn't registered to an account, please try again")
return userLogin()
def successfulLogin():
print("You have been logged in")
username_password.close()