Mercurial > hg > config
view python/password.py @ 922:74dc16f074be default tip
ignore ff merges
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Thu, 03 Oct 2024 05:36:19 -0700 |
parents | 5e05c41337e3 |
children |
line wrap: on
line source
#!/usr/bin/env python """ password generator """ import argparse import random import string import sys def generate_password(population=string.ascii_letters+string.digits, length=12): """ returns a random password `length` characters long sampled from `population` """ return ''.join(random.sample(population, length)) def main(args=sys.argv[1:]): # parse command line parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('-l', '--length', dest='length', type=int, default=12, help="length of password to generate [DEFAULT: %(default)s]") options = parser.parse_args(args) # print generated password print (generate_password(length=options.length)) if __name__ == '__main__': main()