【发布时间】:2017-09-25 16:20:17
【问题描述】:
我使用docopt 来处理我的脚本的参数。
我有一个案例,我想允许在我的脚本中“添加”或“删除”某些内容。 “添加”或“删除”操作不是强制性的,但如果选择其中任何一个,则需要一个参数(“添加”或“删除”的“事物”)
如何组合:
- 通过
[-a|-d]定义的两个可选参数(互斥) - 带有强制参数,是否应该提供
-a或-d中的任何一个?
我尝试了几种条件嵌套的变体,例如
"""
Usage:
hello.py [[-a|-d] FILE]
Options:
-a add a file
-d delete a file
FILE file to be added or deleted
"""
import docopt
args = docopt.docopt(__doc__)
print(args)
但脚本会运行,尽管只是将 -a 作为参数提供(它应该转储帮助,因为缺少一个参数)
【问题讨论】: