我需要一个可以接受输入的for循环,比如说5,并且遍历所有可能的5个大写/小写/数字/特殊长度组合,并对每一个做一些事情,这可能吗?我不想将它们存储在内存中,只是迭代它们然后去除它。
另外,我如何才能完成每种类型的字符集..字母......数字等...
答案 0 :(得分:1)
我需要一个可以接受输入的for循环,例如5,并迭代所有可能的5个大写/小写/数字/特殊长度组合,并对每个进行处理
为此,您可能希望使用itertools.product()
import string
import itertools
alphabet = string.digits + string.letters + string.punctuation
for password in itertools.product(alphabet, repeat=5):
print ''.join(password)
或者,根据您的评论调整代码:
from string import ascii_lowercase
from itertools import product
keywords = (''.join(i) for i in product(ascii_lowercase, repeat = 3))
for keyword in keywords:
print keyword