Нужна помощь в создании файла журнала txt в Python

#python #logging

#python #ведение журнала

Вопрос:

Я застрял на задании: мы должны создать средство проверки паролей с файлом журнала txt, в котором регистрируются время и дата ввода пароля, но только в том случае, если пароль не соответствует требованиям, которые должны быть приняты.

Ниже приведен код проверки пароля, мне нужна помощь с регистрацией в файл.

 PASSWORD_MIN_LENGTH = 6
PASSWORD_MAX_LENGTH = 14

password = input("Enter your password: ")

password_length = len(password)

while password_length < PASSWORD_MIN_LENGTH or password_length > PASSWORD_MAX_LENGTH:
    print("Error - password out of range")
    password = input("Enter new password between 6 and 14 characters: ")
    password_length = len(password)

if password.isdigit():
    message = "your password is too weak"
elif password.isalpha():
    message = "your password is too weak"
else:
    message = "your password is strong"

print(f"{message} your password length was: {password_length}")
 

Есть предложения?

Комментарии:

1. pythonforbeginners.com/files/…

2. Я помню, как отвечал на очень похожий вопрос на этот.

3. рассматривали ли вы возможность использования модуля ведения журнала?

Ответ №1:

Вы можете использовать f = open("file.txt", "w") для создания и записи в текстовый файл, если файл с таким именем file.txt уже существует, он не создаст новый, но найдет этот файл и выполнит запись в него. Чтобы начать запись в файл, просто используйте f.write("Your message") . Когда закончите, используйте f.close() для закрытия файла.

В качестве ответа на ваш вопрос вы можете создать функцию, которая записывает введенный ей пароль в текстовый файл. Я создал следующую функцию для записи пароля в текстовый файл:

 from datetime import datetime

def logPassword(password, filename):
    f = open(filename, "a")
    f.write("{0} -- {1}n".format(datetime.now().strftime("%Y-%m-%d %H:%M"), password))
    f.close()
 

Функция записывает дату, время и пароль в следующем формате в файл txt:

 2019-04-18 09:58 -- test1
2019-04-18 09:58 -- test2
2019-04-18 09:58 -- test3
 

Функция "a" in open(filename, "a") означает, что вы добавляете текстовый файл, поэтому ничего в файле не будет перезаписано.

Чтобы использовать эту функцию в своем коде, просто вызовите ее при проверке пароля.