如果满足条件,如何使参数可选?

时间:2012-10-07 06:25:33

标签: python command-line-arguments

我刚刚开始使用docopt,并且我正在尝试编写一个使用命令,如果命令匹配某些内容,它将接受一个或多个可选参数。它处于当前状态:

Usage:
  script.py voucher (add|del) <code> <credits> [<points>]

此处,首先使用voucher命令,然后使用adddel。我想更改该行,以便在使用add时,codecredits参数都是必需的,但points是可选的。

但是,如果使用del,则只需要code参数。

我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

"""S.O. 12766628

Usage:
    script.py voucher add <code> <credits> [<points>]
    script.py voucher del <code>
"""
from docopt import docopt


if __name__ == '__main__':
    arguments = docopt(__doc__, version='S.O. 12766628')
    print(arguments)

你需要什么。