需要帮助在Python中创建txt日志文件

时间:2019-04-18 06:44:30

标签: python logging

我被困在一项作业上:我们必须用一个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 个答案:

答案 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")意味着您要追加到文本文件,因此该文件中的任何内容都不会被覆盖。

要在代码中使用此功能,只需在验证密码时调用它即可。