Command line argument parsing library for python
Project description
Argument parsing for python developers
Usage:
import argument
f = argument.Arguments()
#Requried arguments, first argument will be stored as "candy"
f.require("candy", help="Candy name")
#optional unnamed value
f.maybe("soda")
#optional value, set a default, can be changed by adding: --num=30, or -n=30
f.option("num",
25,
help="How many pieces?",
abbr="n"
)
#add a switch, a flag with no argument
f.switch("reverse",
help="Reverse ordering",
abbr="r"
)
f.switch("unwrap", help="unwrapcandy", abbr="u")
#Process data before saving it
f.process("candy", lambda x: x.upper())
#Parse num as integer
f.process("num", lambda x: int(x))
f.validate("num", lambda x: x > 10)
#get data
arguments, errors = f.parse()
Example:
python tests/demo.py bubblegum
{‘num’: 25, ‘soda’: None, ‘reverse’: False, ‘candy’: ‘BUBBLEGUM’, ‘unwrap’: False}
python demo.py bubblegum cubacola
{‘num’: 25, ‘soda’: ‘cubacola’, ‘reverse’: False, ‘candy’: ‘BUBBLEGUM’, ‘unwrap’: False}
python tests/demo.py bubblegum -r -n=123 –unwrap
{‘num’: 123, ‘soda’: None, ‘reverse’: True, ‘candy’: ‘BUBBLEGUM’, ‘unwrap’: True}
python tests/demo.py bubblegum –n=5
{‘num’: 5, ‘soda’: None, ‘reverse’: False, ‘candy’: ‘BUBBLEGUM’, ‘unwrap’: False}
Autogenerated help:
print(f) ``` Usage: demo.py [OPTIONS] CANDY
Required arguments: CANDY Candy name
Optional arguments: SODA N/A
Options: -n –num=25 How many pieces?
Switches: -r –reverse Reverse ordering -u –unwrap unwrapcandy ```
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.