This module allows to format an argument vector in a structure easier to read and use for command line applications
Project description
ArgvParser
ArgvParser allows to format an argument vector in a structure easier to read and use for command line applications.
Installation
python -m pip install argvparser
Importation
import argvparser
Using
import argvparser
import sys
args = argvparser.argvparser.parse(sys.argv)
Documentation
ArgvParser.parse
Formate arguments vector to a dictionnary
:param argv: The arguments vector :type argv: list
:return: The formated arguments :rtype: dict
:raise Exception: Argument assigned to any option
:Example:
Parsing with several concatenated options
>>> argvparser.argvparser.parse(['app.py', 'ls', '-lar', '42', '--float', '3.14'])
{
'app': 'app',
'command': 'ls',
'options': {
'-l': None,
'-a': None,
'-r': 42,
'--float': 3.14
}
}
Parsing without command specified
>>> argvparser.argvparser.parse(['app.py', '--print', 'My message I want to print', '-i'])
{
'app': 'app',
'command': None,
'options': {
'--print': 'My message I want to print',
'-i': None
}
}
Parsing with duplicated options
>>> argvparser.argvparser.parse(['app.py', '-v', '/var/www', '-i', '-v', '/var/bin/bash'])
{
'app': 'app',
'command': None,
'options': {
'-v': [
'/var/www',
'/var/bin/bash'
],
'-i': None
}
}
ArgvParser.parse_multi_options
Retrieves multiple argument (like -li) and reconstruct it to a correct format
:param argv: The arguments vector :type argv: list
:return: Correctly formated arguments vector :rtype: list
:Example:
>>> argvparser.argvparser.parse_multi_options(['app.py', '-liar', '--test'])
['app.py', '-l', '-i', '-a', '-r', '--test']
ArgvParser.is_option
Check if the argument in parameter is an option or not
:param arg: The argument to control :type arg: str
:return: True if arg is an option, else false :rtype: bool
:Example:
>>> argvparser.argvparser.is_option('-t')
True
>>> argvparser.argvparser.is_option('--test')
True
>>> argvparser.argvparser.is_option('test')
False
ArgvParser.parse_type
Convert the passed argument into the appropriate type
:param arg: The argument to convert :type arg: str, None
:return: The converted argument :rtype: int, float, str, None
:note: The default type returned is a str
:Example:
>>> argvparser.argvparser.parse_type('test')
'test'
>>> argvparser.argvparser.parse_type('42')
42
>>> argvparser.argvparser.parse_type('3.14')
3.14
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 argvparser-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd261e7158ea795b1df2fdff7ea86ba117de27a89f87b12abba8f985d1da2d97 |
|
MD5 | fcf1ef85e53e558f4c5edb8a3f64b9cc |
|
BLAKE2b-256 | 8b31e03f21f638119be2d6f6af78b3b6e18b8c435890b160fa4ed139d1425c44 |