1.6 KiB
1.6 KiB
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:
Assume 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
Truein the dict - The leading up to two hyphens are stripped from options, all other hyphens are converted into underscores (
---test-this-would become_test_this_)