ArgumentParser() creates a parser object that acts as
a wrapper to Python's argparse module
Arguments
- ...
Arguments cleaned and passed to Pythons
argparse.ArgumentParser()- python_cmd
Python executable for
argparseto use. Must haveargparseandjsonmodules (automatically bundled with Python 2.7 and 3.2+). If you need Unicode argument support then you must use Python 3.0+. Default will be to usefindpythonpackage to find suitable Python binary.
Value
ArgumentParser() returns a Parser R6 object which contains
an add_argument() function to add arguments to the parser,
a parse_args() function to parse command line arguments into
a list, a print_help() and a print_usage() function to print
usage information. See code examples, package vignette,
and corresponding python module for more information on how to use it.
References
Python's argparse library, which this package is based on,
is described here: https://docs.python.org/3/library/argparse.html
See also
Parser, ArgumentGroup, MutuallyExclusiveGroup, and
Subparsers for
documentation of the R6 objects returned by ArgumentParser() and its
methods.
Examples
run_example <- argparse:::detects_python()
if (run_example) {
parser <- ArgumentParser(description='Process some integers')
parser$add_argument('integers', metavar='N', type = "integer", nargs='+',
help='an integer for the accumulator')
parser$add_argument('--sum', dest='accumulate', action='store_const',
const='sum', default='max',
help='sum the integers (default: find the max)')
parser$print_help()
}
#> usage: PROGRAM [-h] [--sum] N [N ...]
#>
#> Process some integers
#>
#> positional arguments:
#> N an integer for the accumulator
#>
#> options:
#> -h, --help show this help message and exit
#> --sum sum the integers (default: find the max)
if (run_example) {
# default args for ArgumentParser()$parse_args are commandArgs(TRUE)
# which is what you'd want for an Rscript but not for interactive use
args <- parser$parse_args(c("--sum", "1", "2", "3"))
accumulate_fn <- get(args$accumulate)
print(accumulate_fn(args$integers))
}
#> [1] 6