Open sjpb opened 6 years ago
With a docstring like this:
Usage: script.py <arg> script.py [<cmd>] <arg>
here's what I get for docopt and argopt:
With python script.py a
python script.py a
docopt: docopt: {'<arg>': 'a','<cmd>': None}
docopt: {'<arg>': 'a','<cmd>': None}
argopt:
usage: script.py [-h] arg arg [cmd] script.py: error: too few arguments
With python script.py run a
python script.py run a
docopt: docopt: {'<arg>': 'a','<cmd>': 'run'}
docopt: {'<arg>': 'a','<cmd>': 'run'}
argopt: Namespace(arg='a', cmd='None').
Namespace(arg='a', cmd='None')
In both cases docopt does what I'd expect?
In this case you could use
Usage: script.py [<cmd>] <arg>
or
Usage: script.py <arg> [<cmd>]
What would the use case be? It's not the same as #3
With a docstring like this:
here's what I get for docopt and argopt:
With
python script.py a
docopt:
docopt: {'<arg>': 'a','<cmd>': None}
argopt:
With
python script.py run a
docopt:
docopt: {'<arg>': 'a','<cmd>': 'run'}
argopt:
Namespace(arg='a', cmd='None')
.In both cases docopt does what I'd expect?