Bonjour J'ai essayé le [docopt] de Python (http://docopt.org/) (traitement des arguments en ligne de commande) [^ 1].
Dans l'exemple ci-dessous, j'ai essayé la différence dans la description de
--oo, `` `--pp
et
--qq. Dans le cas de `` `` --qq
, le résultat est renvoyé sous forme de liste (cette description peut ne pas être officiellement recommandée).
$ ./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]: J'ai également fait référence à "Note d'utilisation de Python docopt".
Recommended Posts