Hallo Ich habe Pythons docopt (Befehlszeilenargumentverarbeitung) [^ 1] ausprobiert.
Im folgenden Beispiel habe ich den Unterschied in der Beschreibung von --oo```,
--pp und` `--qq
versucht. Im Fall von `` `--qq``` wird das Ergebnis als Liste zurückgegeben (diese Beschreibung wird möglicherweise nicht offiziell empfohlen).
$ ./docopt_test.py
{'--help': False,
'--oo': None,
'--pp': None,
'--qq': [],
'X': []}
$
$ ./docopt_test.py -o 0 -p 1 -q 2 3 4
{'--help': False,
'--oo': '0',
'--pp': '1',
'--qq': ['2'],
'X': ['3', '4']}
$
docopt_test.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
def argsdocopt(doc):
import docopt, textwrap
return docopt.docopt(textwrap.dedent(doc))
def main():
"""
{f}: Test a docopt library.
usage: {f} [-h] [-o O] [-p <P>|--pp <P>] [-q|--qq <Q>] [X...]
options:
-h, --help show this help message and exit
-o, --oo O parameter O
-p <P>, --pp <P> parameter P
-q, --qq <Q> parameter Q
"""
args = argsdocopt(main.__doc__.format(f=__file__))
print(args)
if __name__ == '__main__':
main()
[^ 1]: Ich habe auch auf "Python docopt usage memo" verwiesen.
Recommended Posts