2016-03-08 50 views
0

我目前使用的docopt LIB首次所以我一定会这样做行为的docopt模块(参数解析器)

我的脚本是一些错误:

"""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. 
""" 

如果我写: 蟒蛇PROG的.py -s SMT

我得到:

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

而且它似乎是correc吨,但如果我写:

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之后给出,或者没有给出错误,我不明白为什么它不是这种情况。

感谢您的帮助!

回答

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. 
""" 
+0

您好,感谢您的help.I发现了问题:它因为在我的帮助下,线制表缩进,而不是空间缩进,并通过用空格替换列表现在它工作正常..我有一个关于docopt github上的问题。 – Liad

+0

好吧,没问题:) –