#!/usr/bin/env python
from itertools import product
# ('abc', 'd', ('1', '23')) --> 'abcd123'
def merge(seq):
string = ''
for item in seq:
if isinstance(item, str):
string += item
else:
string += merge(item)
return string
a2z = 'abcdefghijklmnopqrstuvwxyz'
d09 = '0123456789'
pwd_part1 = product(a2z, a2z, a2z)
pwd_part2 = product(d09, d09, d09)
pwd_part3 = product(a2z, a2z)
pwd = product(pwd_part1, pwd_part2, pwd_part3)
with open('dict.txt', 'a') as fobj:
for e in pwd:
fobj.write(merge(e) + '\n')