#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")
означает, что вы добавляете текстовый файл, поэтому ничего в файле не будет перезаписано.
Чтобы использовать эту функцию в своем коде, просто вызовите ее при проверке пароля.