我使用在Python中使用click
模块创建的以下CLI方法。
import click
@click.command()
@click.argument("name")
@click.option("--provider", "-p", default="aws", help="Cloud Provider")
@click.argument("view", required=True)
def create(name, view, provider):
print name
print view
print provider
if __name__ == '__main__':
create()
我想根据对view
获得的值来操纵--provider
选项。例如,如果--provider
是aws
,则required=True
代表view
,否则required=False
使view
是可选的,在运行我的代码时。
答案 0 :(得分:1)
不需要任何花哨的东西,像这样的东西会起作用
def create(name, provider, view=None):
if provider == "aws" and view is None:
raise AttributeError("View is required when provider is 'aws'")