What's the preferred way of specifying program name and version info within argparse?
__version_info__ = ('2013','03','14') __version__ = '-'.join(__version_info__) ... parser.add_argument('-V', '--version', action='version', version="%(prog)s ("+__version__+")")
The store_true option automatically creates a default value of False. Likewise, store_false will default to True when the command-line argument is not present.
Adding arguments Later, calling parse_args() will return an object with two attributes, integers and accumulate . The integers attribute will be a list of one or more ints, and the accumulate attribute will be either the sum() function, if --sum was specified at the command line, or the max() function if it was not.
The argparse module provides a convenient interface to handle command-line arguments. It displays the generic usage of the program, help, and errors. The parse_args() function of the ArgumentParser class parses arguments and adds value as an attribute dest of the object.
Yes, that's the accepted way. From http://docs.python.org/dev/library/argparse.html#action:
>>> parser.add_argument('--version', action='version', version='%(prog)s 2.0')
You should of course be embedding the version number in your package in a standard way: Standard way to embed version into python package?
If you're following that method, you have a __version__
variable:
from _version import __version__ parser.add_argument('--version', action='version', version='%(prog)s {version}'.format(version=__version__))
For example, that's the method demonstrated at https://pypi.python.org/pypi/commando/0.3.2a:
parser.add_argument('-v', '--version', action='version', version='%(prog)s ' + __version__)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With