import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-s', action='store',
dest='simple_value',
help='Store a simple value')
parser.add_argument('-c', action='store_const',
dest='constant_value',
const='value-to-store',
help='Store a constant value')
parser.add_argument('-t', action='store_true',
default=False,
dest='boolean_t',
help='Set a switch to true')
parser.add_argument('-f', action='store_false',
default=True,
dest='boolean_f',
help='Set a switch to false')
parser.add_argument('-a', action='append',
dest='collection',
default=[],
help='Add repeated values to a list')
parser.add_argument('-A', action='append_const',
dest='const_collection',
const='value-1-to-append',
default=[],
help='Add different values to list')
parser.add_argument('-B', action='append_const',
dest='const_collection',
const='value-2-to-append',
help='Add different values to list')
parser.add_argument('--version', action='version',
version='%(prog)s 1.0')
results = parser.parse_args()
print('simple_value = {!r}'.format(results.simple_value))
print('constant_value = {!r}'.format(results.constant_value))
print('boolean_t = {!r}'.format(results.boolean_t))
print('boolean_f = {!r}'.format(results.boolean_f))
print('collection = {!r}'.format(results.collection))
print('const_collection = {!r}'.format(results.const_collection))
The
-t
and -f
options are configured to modify different option values, each storing either True or False. The dest
values for -A
and -B
are the same so that their constant values are appended to the same list.$ python3 argparse_action.py -h
usage: argparse_action.py [-h] [-s SIMPLE_VALUE] [-c] [-t] [-f]
[-a COLLECTION] [-A] [-B] [--version]
optional arguments:
-h, --help show this help message and exit
-s SIMPLE_VALUE Store a simple value
-c Store a constant value
-t Set a switch to true
-f Set a switch to false
-a COLLECTION Add repeated values to a list
-A Add different values to list
-B Add different values to list
--version show program's version number and exit
$ python3 argparse_action.py -s value
simple_value = 'value'
constant_value = None
boolean_t = False
boolean_f = True
collection = []
const_collection = []
$ python3 argparse_action.py -c
simple_value = None
constant_value = 'value-to-store'
boolean_t = False
boolean_f = True
collection = []
const_collection = []
$ python3 argparse_action.py -t
simple_value = None
constant_value = None
boolean_t = True
boolean_f = True
collection = []
const_collection = []
$ python3 argparse_action.py -f
simple_value = None
constant_value = None
boolean_t = False
boolean_f = False
collection = []
const_collection = []
$ python3 argparse_action.py -a one -a two -a three
simple_value = None
constant_value = None
boolean_t = False
boolean_f = True
collection = ['one', 'two', 'three']
const_collection = []
$ python3 argparse_action.py -B -A
simple_value = None
constant_value = None
boolean_t = False
boolean_f = True
collection = []
const_collection = ['value-2-to-append', 'value-1-to-append']
Comments
Post a Comment