Skip to content

Instantly share code, notes, and snippets.

@jn0
Created November 8, 2017 08:20
Show Gist options
  • Save jn0/83b99300da6813d79bed489205242a23 to your computer and use it in GitHub Desktop.
Save jn0/83b99300da6813d79bed489205242a23 to your computer and use it in GitHub Desktop.
`argparse.ArgumentParser` is great, but sometimes you want a more handy one
import argparse
class AP(argparse.ArgumentParser):
def add(self, *av, **kw):
if 'default' not in kw:
if kw.get('action') == 'count':
kw['default'] = 0
self.add_argument(*av, **kw)
return self
#end class AP
arg = AP(
description='Sample usage code.'
).add(
'-v', '--verbose',
action='count', dest='verbose',
help='more -v more verbose'
).add(
'-q', '--quiet',
action='count', dest='quiet',
help='more -q more silence'
).parse_args()
verbose = arg.verbose - arg.quiet
# EOF #
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment