我正在尝试使用 python 创建一个简单的密码生成器,它读取您以以下格式提供的模式,A
用于大写字符、小写字符、a
数字$
和#
符号。模式将通过命令行参数给出,并由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)