如果选择,如何添加带有必填字段的可选参数?

2024-10-02 22:24:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用^{}来处理脚本的参数。你知道吗

我有一个案例,我想允许“添加”或“删除”我的脚本中的东西。“add”或“delete”操作不是manadatory,但是如果选择了其中一个,那么它需要一个参数(“thing”to“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作为参数(它应该转储帮助,因为缺少一个参数)


Tags: to脚本add参数定义args变体docopt
1条回答
网友
1楼 · 发布于 2024-10-02 22:24:48

我找到了一种方法,通过多个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

相关问题 更多 >