随机密码生成器python



当我运行以下代码并打开名为pwd.txt的文件时,它在所有100行

中显示相同的密码
import string
from random import *
characters = string.ascii_letters + string.digits
password =  "".join(choice(characters) for x in range(randint(8,16)))
with open('pwd.txt', 'w') as f:
    for _ in range(100):
        f.write(password + 'n')

您只生成一个密码,在循环之外。每次迭代生成一个新密码:

with open('pwd.txt', 'w') as f:
    for _ in range(100):
        password =  "".join(choice(characters) for x in range(randint(8,16)))
        f.write(password + 'n')

表达式写入文件时不会自动重新求值,您需要显式地一次又一次地运行相同的表达式。

如果你喜欢,你可以把它放在一个函数中,但它需要重复:你的password字符串不会在每次你把它写入文件时被重新创建,而不显式地创建一个新的字符串。

相关内容

  • 没有找到相关文章