2022-08-30 11:42:27 +09:00
2022-08-29 04:15:30 +02:00
2022-08-30 11:42:27 +09:00
2022-08-30 15:41:30 +09:00
2022-08-30 15:35:40 +09:00

pargs

Parse command line arguments into a list of args and a dict of kwargs.

Installation

pip install pargs

Usage

By default, pargs.parse_args() uses sys.argv as command line arguments. It can be used in the following way.

from pargs import parse_args

args, kwargs = parse_args()

The arguments to be parsed can also be specified manually:

from pargs import parse_args

args, kwargs = parse_args(argv=['pargs.py', '--name=Pargs'])

Specification

parse_args parses arguments in the following way, assuming the following command line arguments (sys.argv): ['/pargs/pargs.py', 'command', 'positional', '--flag', '--optional=value', 'test', '--output-file', 'filename', '-flg', 'name', 'name2']

By calling args, kwargs = parse_args(), this would return the following list and dict:

args = ['/pargs/pargs.py', 'command', 'positional']
kwargs = {
        'flag': True,
        'optional': ['value', 'test'],
        'output_file': ['filename'],
        'f': True,
        'l': True,
        'g': ['name', 'name2'],
    }

Basic behaviour

  • All arguments before the first option (starting with a hyphen) are considered positional arguments (args)
  • All other arguments are considered optional keyword arguments (kwargs)
  • Optional arguments without leading hyphens are considered as values to preceding keyword arguments and saved as list
  • Flags are recorded with the value True in the dict
  • Up to 2 leading hyphens are stripped from options, all other hyphens are converted into underscores (---test-this- would become _test_this_)
Description
Parse command line arguments into a list of args and a dict of kwargs.
https://pypi.org/project/pargv/
Readme
Languages
Python 100%