Title: | Command Line Optional and Positional Argument Parser |
---|---|
Description: | A command line parser to be used with 'Rscript' to write "#!" shebang scripts that gracefully accept positional and optional arguments and automatically generate usage. |
Authors: | Trevor L. Davis [aut, cre] , Allen Day [ctb] (Some documentation and examples ported from the getopt package.), Python Software Foundation [ctb] (Some documentation from the argparse Python module.), Paul Newell [ctb] |
Maintainer: | Trevor L. Davis <[email protected]> |
License: | GPL (>= 2) |
Version: | 2.2.4 |
Built: | 2024-11-21 09:21:49 UTC |
Source: | CRAN |
ArgumentParser()
creates a parser object that acts as
a wrapper to Python's argparse
module
ArgumentParser(..., python_cmd = NULL)
ArgumentParser(..., python_cmd = NULL)
... |
Arguments cleaned and passed to Pythons |
python_cmd |
Python executable for |
ArgumentParser()
returns a parser 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.
Python's argparse
library, which this package is based on,
is described here: https://docs.python.org/3/library/argparse.html
if (argparse:::detects_python()) { 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() # 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)) }
if (argparse:::detects_python()) { 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() # 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)) }