Я разрабатываю программу аутентификации в python, но у меня проблемы с базой данных - PullRequest
0 голосов
/ 05 мая 2020

Я разрабатываю систему входа в систему, но у меня проблемы с хранением пользователей и паролей. Я составил список и передал его в текстовый файл, и он все записывает в него, но каждый раз, когда я снова запускаю программу, она стирает все, что хранила ранее. Вот код, который я написал до сих пор. Если что-то еще я делаю неправильно, дайте мне знать, я рад узнать мнение более опытного человека по этому поводу.

done = True

while done == True:
    user = input('Create Username: ')

    from pwgen import genPass

    break

while done == True:    
    password = input('Create Password: ')
    done = False

    store_user = []
    store_pass = []

    store_userpass = []

    if user in store_user:
        print("That user already exists")
    else:
        store_user.append(user)
        store_pass.append(password)

        outF = open('user.txt', 'w')
        outf= open('pw.txt', 'w')

        for line in store_user:
            outF.write(line)
            outF.write('\n')

        for line1 in store_pass:
            outf.write(line1)
            outf.write('\n')

    outF.close()
    outf.close()

    done = False

while True:
    userguess=""
    passwordguess=""
    key=""
    while (userguess != user) and (passwordguess != password):
        userguess = input('User Name: ')
        passwordguess = input('Password: ')

        if userguess != user:
            print("Error: Unknown username.")
        if userguess == user and passwordguess != password:
            print("Error: Incorrect password. Try again.")
        if userguess != user and passwordguess != password:
            print("Error: Unknown user and password combination.")
        if userguess == user and passwordguess == password:
            print("Welcome,", user, ". Type lock to lock this user.")
    break

while key != "lock":
    key = input()

1 Ответ

1 голос
/ 05 мая 2020

Вы открываете файлы user.txt и pw.txt в режиме write (второй параметр в функции open), который каждый раз воссоздает файл, а не в режиме append, что позволит вам добавить данные в файлы.

Попробуйте:

outF = open('user.txt', 'a')
outf= open('pw.txt', 'a')

вместо:

outF = open('user.txt', 'w')
outf= open('pw.txt', 'w')
...