【问题标题】:Random password generator python随机密码生成器python
【发布时间】:2014-06-06 21:26:55
【问题描述】:

当我运行以下代码并打开名为 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')

【问题讨论】:

  • 那是因为你写了 100 次同一个密码。您需要在for 循环中生成新的随机数。

标签: python random passwords password-generator


【解决方案1】:

你只生成一个密码,外循环。而是在每次迭代时生成一个新密码:

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 字符串不会在你每次将它写入文件时重新创建而不显式创建一个新字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    相关资源
    最近更新 更多