python - Generating pass_words with input mask -
i have such input masked word ---
, want replace -
numbers(0-9)
code:
def masker(input_mask,pattern): s = list() s = (itertools.product(pattern,repeat=1)) in input_mask: if ( i=='-'): j in s : print (input_mask.replace('-',''.join(j))) masker ('-a-' , '123')
but output is:
1a1 2a2 3a3 1a1 2a2 3a3
and main goal output:
1a1 1a2 1a3 2a1 .... .... 3a3
in code j = '1'
in first run. replace -
that...
my suggestion use str.format
mask
(i.e. replacing -
{}
). this:
from itertools import product def masker(input_mask, pattern): mask = input_mask.replace('-', '{}') # mask = '{}a{}' values in product(pattern, repeat=2): print(mask.format(*values)) masker(input_mask='-a-', pattern='123')
also note repeat=2
in product
. make more generic need use repeat=input_mask.count('-')
.
Comments
Post a Comment