Add me as an author
It's better to use UTF8 and `env python2`

The code becomes more portable using env instead of the explicit path to
the python binary. It's also good to especify python2 as some Linux
distributions like Arch Linux consider 'python' as python3.
Replace getopt with argparse + PEP8 style guide
Merge both files in only one
Indentation and style following PEP8
s/randint/randrange/ and uses getrandbits for bool

I prefer to use randrange as it matches range() pattern.
getrandbits(1) is probably faster than randint(0, 1).
Remove unnecessary parenthesis.
Length must be an integer and not a string.
Add main() that avoids combining all the options.
Fix bug with options. Better way to check them.

Now the program doesn't need to check, for every new character, that the
user don't want to use certain set of chars.
Options passed as arguments are working now!