0

私は現在docopt libを初めて使用しているので、きっと何か間違ったことをしています

私のスクリプトは次のとおりです。

"""prog

Usage:
    prog.py (-h | --help)
    prog.py (--version)
    prog.py -s TAG [-t NB_NUC]

Options:
    -h, --help   help
    --version    version
    -s TAG       Some TAG I want.
    -t NB_NUC    A number of nuc.
"""

私が書く場合: python prog.py -s SMT

私は得る:

{'--help': False,
    '--version': False,
    '-h': False,
    '-s': True,
    '-t': True,
    'NB_NUC': None,
    'TAG': 'SMT'}

そして、それは正しいようですが、私が書くと:

python prog.py -s -t 10 -> TAG contain 10 (instead of None)
python prog.py -t 10 -s SMT -> TAG contain always 10 (instead of SMT) and NB_NUC contain SMT (instead of 10)
python prog.py -s SMT -t -> TAG contain SMT and NB_NUC contain None (and its what I expected on this way)

で、いろいろ組み合わせてみたんですが、これがどういう意味なのかよくわかりません…

私が欲しいのは、TAGには常に-s引数に対応する値が含まれ、-sの後に何も指定されていない場合はNoneまたはエラーであり、そうでない理由がわかりません..

ご協力いただきありがとうございます !

4

2 に答える 2

0

あなたはほとんどそこにいます。引数の周りに「<...>」が必要です:

"""prog

Usage:
    prog.py (-h | --help)
    prog.py (--version)
    prog.py -s TAG [-t NB_NUC]

Options:
    -h, --help   help
    --version    version
    -s TAG       Some TAG I want.
    -t NB_NUC    A number of nuc.
"""
于 2016-03-09T15:23:38.407 に答える