Here is my solution, similar to Adam, except for it is not recursive. :].
from itertools import product
from string import lowercase
def letter_generator(limit):
for length in range(1, limit+1):
for letters in product(lowercase, repeat=length):
yield ''.join(letters)
And it returns generator, so you can use a loop forto iterate over it:
for letters in letter_generator(5):
Good luck
( , itertools.product() . Woot.)