Version 2. It now splits the file into a certain space... currently 100 MB. It is easy to change in the code. Also it times it, so you can alter the code to try and make it faster. I also forgot to close out the file at the end. When it does start a new file, it tells you, and also the "word" it is on. It checks the size of the current file every 1000 "words". I plan to add the ability to restart the program at a certain point next. Suggests and comments are welcome! 
Code:
'''
UPDATES:
Forgot to close the file after I opened it.
It now splits the files after a set limit.
It checks the file size after ever 1000 words. Easy to change.
TO DO:
Add in a way to restart the program from where it left off.
'''
import os
import time
numFile = 0
f=open('wordlist-' + str(numFile) + '.txt', 'w')
def xselections(items, n):
if n==0: yield []
else:
for i in xrange(len(items)):
for ss in xselections(items, n-1):
yield [items[i]]+ss
# Numbers = 48 - 57
# Capital = 65 - 90
# Lower = 97 - 122
numb = range(48,58)
cap = range(65,91)
low = range(97,123)
choice = 0
while int(choice) not in range(1,8):
choice = raw_input('''
1) Numbers
2) Capital Letters
3) Lowercase Letters
4) Numbers + Capital Letters
5) Numbers + Lowercase Letters
6) Numbers + Capital Letters + Lowercase Letters
7) Capital Letters + Lowercase Letters
: ''')
choice = int(choice)
poss = []
if choice == 1:
poss += numb
elif choice == 2:
poss += cap
elif choice == 3:
poss += low
elif choice == 4:
poss += numb
poss += cap
elif choice == 5:
poss += numb
poss += low
elif choice == 6:
poss += numb
poss += cap
poss += low
elif choice == 7:
poss += cap
poss += low
bigList = []
for i in poss:
bigList.append(str(chr(i)))
MIN = raw_input("What is the min size of the word? ")
MIN = int(MIN)
MAX = raw_input("What is the max size of the word? ")
MAX = int(MAX)
MAX_SIZE_MB = 100
MAX_SIZE_BYTES = MAX_SIZE_MB * 1024 * 1024
HOW_OFTEN_CHECK = 1000
count = 0
START_TIME = time.time()
for i in range(MIN,MAX+1):
for s in xselections(bigList,i):
count += 1
f.write(''.join(s) + '\n')
if count >= HOW_OFTEN_CHECK:
size = os.path.getsize('wordlist-' + str(numFile) + '.txt')
if size > MAX_SIZE_BYTES:
f.close()
numFile += 1
f=open('wordlist-' + str(numFile) + '.txt', 'w')
count = 0
print 'New File. Current word: ', ''.join(s)
f.close()
END_TIME = time.time()
print 'Time it took to compute files:', END_TIME - START_TIME, 'seconds'