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 ```
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file argument-1.4.0.tar.gz.
File metadata
- Download URL: argument-1.4.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84c6a3bc874043d99620f371d2ba8b1ff31364df36781238dd321fe30c0b5b18
|
|
| MD5 |
883288db6562df8ef7daf5483b8602a8
|
|
| BLAKE2b-256 |
6db8a8e92345fa2a9e98460909defe876899807a8854575c99c5d0595d967a74
|