Python Click 在执行前确定链式命令的顺序

标签 python command-line-interface python-click

我使用 Click 编写了一个 CLI 应用程序。我有一个允许链接命令的组,应用程序的调用方式类似于 my_cli cmd1 --arg1 val1 cmd2 run。我想确保用户在最后而不是在中间指定 run 命令。这可以通过点击来实现吗?谢谢!

最佳答案

实际上,您可以完全绕过 Click 来实现此目的,只需检查 run 命令是否位于最后一个位置之外的任何位置:

from sys import argv

def check_run_command_pos():
    if "run" in argv[:-1]:
    raise SyntaxError('`run` must be the last command of a chain')

if __name__ == "__main__":
    check_run_command_pos()

关于Python Click 在执行前确定链式命令的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59381170/

相关文章:

python - 在 Postgresql 中保存时区时出错

python - 你如何在 Python 中绘制网格和矩形?

python - Click支持 "bunching"做空期权吗?

powershell - 如何从LUIS的.JSON文件生成.LU文件

python - 使用 Python click 命令调用带有可变参数的类方法

Python 点击​​ : Exception Handling under setuptools

Python:选择.POLLHUP

python - 您正在尝试向模型添加不可为空的字段 'id'

laravel-4 - Laravel 迁移一团糟

git - 是否有原因导致 Git 的 stash 命令无法堆叠速记选项?