如果选择的话,如何使用强制性字段添加可选参数



我使用 docopt处理脚本的参数。

我有一个我想允许"添加"或"删除"某些内容的情况。"添加"或"删除"操作不是操纵性的,但是如果选择了任何一个,则需要一个参数(" thing"要" add"或" delete")

我如何结合:

  • 通过[-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作为参数(它应该丢弃帮助),因为缺少参数之一)

我通过多个Usage条目找到了一种方法:

"""
Usage:
    hello.py [-a|-d] FILE
    hello.py
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-d 强制性FILE

相关内容

  • 没有找到相关文章

最新更新