Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
argvparser-1.0.0-py3-none-any.whl (3.6 kB) Copy SHA256 hash SHA256 Wheel py3 Jul 15, 2018
argvparser-1.0.0.tar.gz (2.9 kB) Copy SHA256 hash SHA256 Source None Jul 15, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page