A drop-in replacement to Python's built-in argparse, that provides the capability to argparse any arbitrary string, not just command line arguments.
Project description
argparsethis
A drop-in replacement to Python's built-in argparse, that provides the capability to argparse any arbitrary string, not just command line arguments. Is sourced from https://github.com/python/cpython/blob/3.8/Lib/argparse.py.
Installation
pip[3] install argparsethis
Usage
When creating your ArguementParser, just override the parameter input_list
as a list of strings to parse. We recommend using shlex
to split any raw strings into a list correctly. If input_list
is not overridden, it will use standard command line arguments like normal. Also adds the exit_on_error
parameter, if you want to raise an ArgumentException
in the event of a parsing error or printing out the help, instead of just exiting (the default behavior).
import shlex
import argparsethis as argparse
# Argument parsing which outputs a dictionary.
def parse_args(input_str):
#Setup the argparser and all args
input_list = shlex.split(input_str)
parser = argparse.ArgumentParser(input_list = input_list, exit_on_error = False)
parser.add_argument("-q", "--quiet", help="suppress extra output", action="store_true", default=False)
return parser.parse_args()
argv1 = parse_args("test -h")
argv2 = parse_args("test -q")
if not argv2.quiet:
print("LOUD NOISES")
else:
print("Please be quiet")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for argparsethis-1.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41581e28501a3d6b5e5c0f449fdd5575e879d6a20f4f2d557d6636a6194e2a90 |
|
MD5 | ecef67ad81b1fbdeb95a984c7877a3d3 |
|
BLAKE2b-256 | f32616e301f9d93f7879ee198165f31dc2ab4e5a6f26b8b831fe1726ba0d68e7 |