我被困在一项作业上:我们必须用一个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}")
有什么建议吗?
答案 0 :(得分:0)
您可以使用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"
函数中的open(filename, "a")
意味着您要追加到文本文件,因此该文件中的任何内容都不会被覆盖。
要在代码中使用此功能,只需在验证密码时调用它即可。