【发布时间】:2013-07-20 02:57:57
【问题描述】:
我正在尝试使用 python 创建一个简单的密码生成器,它以以下格式读取您提供的模式,A 用于大写字符,a 用于小写字符,$ 用于数字,@987654324 @ 为符号。该模式将通过命令行参数给出,并通过sys.exit() 方法返回输出。
由于某种原因,我的脚本无法正常工作,但对我来说看起来不错,但我似乎无法弄清楚它有什么问题。它在我的终端窗口上输出一个空行。
#!/usr/bin/env python
# IMPORTS
import os
import sys
import random
alc = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
auc = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
num = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
sym = ["!", "#", "%", "&", "?", "@", "(", ")", "[", "]", "<", ">", "*", "+", ",", ".", "~", ":", ";", "=", "-", "_", "\\", "/"]
pattern = list(sys.argv[1])
password = ""
# PROCESSING
for x in pattern:
if x == "A":
random.shuffle(auc)
password.join(auc[0])
elif x == "a":
random.shuffle(alc)
password.join(alc[0])
elif x == "$":
random.shuffle(num)
password.join(num[0])
elif x == "#":
random.shuffle(sym)
password.join(sym[0])
else:
password = "ERROR: Invalid Syntax."
break
# END PROCESSING
sys.exit(password)
【问题讨论】:
-
运行脚本时,输入什么作为参数?
-
为什么选择 password.join ?应该是密码+=...
标签: python random terminal passwords generator