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

标签 python command-line-arguments

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

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

这里,首先使用voucher命令,然后使用adddel。我想更改该行,以便如果使用 add,则 codecredits 参数都是必需的,但 points 是可选的。

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

我怎样才能做到这一点?

最佳答案

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

满足您的需要。

关于python - 如果满足条件,如何使参数可选?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12766628/

相关文章:

python - 如何在 Django ModelForm 中过滤 ManyToManyField 选项?

python - Pandas DataFrame 到 Excel : Vertical Alignment of Index

command-line-arguments - 如何在 WinDbg 的启动命令行打开转储中转义引号

excel - 使用 VBA Excel 从 CMD 运行 Exe 文件

python - 如何在 django-rest-framework 中为 API 使用 TokenAuthentication

python - 为什么数据类不能在其类属性声明中具有可变默认值?

python - 我的 Python 中的空字符串检测?

java - Hadoop命令行参数未传递给Java远程调试器

python - 如何使用 python 在 ssh 命令行上执行 'fake' 表单 POST 请求?

用引号传递的 Python 参数