这是一个简单的程序,提示输入密码的长度以及要创建的密码数量。我需要将结果打印到文件中。但是,它将所有结果打印到一行中。见下文。
这里是代码:
import string
import random
print('''---Password Generator---''')
characters = string.punctuation + string.ascii_letters + string.digits
numofpasswd = int(input('How many passwords would you like?: '))
passwdlength = int(input('Please pick amount of characters. Pick more than 8 characters for better security: '))
if passwdlength < 8:
print("Password is less than 8 characters. Please restart program.")
else:
for password in range(numofpasswd):
passwd = ''
for char in range(passwdlength):
passwd += random.choice(characters)
print(passwd)
f = open("pass.txt", 'a')
f.write(passwd)
f = open('pass.txt', 'r')
f.close()
这里是示例输出。我要求输入2个密码,密码长度为9:
〜Lf> 8ohcY
Q * tPR:,
这里是写到pass.txt的内容:
〜Lf> 8ohcYQ * tPR:,
如您所见,它合并了输出。请帮忙。
额外:还有没有一种方法可以简化此代码?谢谢!
在每个密码后写一个换行符:
f.write(passwd + '\n')
另外,您不应该这样做
f = open('pass.txt', 'r')
之前
f.close()