如何根据另一个参数使参数可选';在Python中使用click?
我使用python中的如何根据另一个参数使参数可选';在Python中使用click?,python,python-click,Python,Python Click,我使用python中的clickmodule创建了以下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
click
module创建了以下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()
我想根据为
--provider
获取的值来操作视图
选项。例如,如果--provider
是aws
,那么视图的必需=True
否则必需=False
在运行我的代码时使视图
可选。不需要任何花哨的东西,类似的东西可以工作
def create(name, provider, view=None):
if provider == "aws" and view is None:
raise AttributeError("View is required when provider is 'aws'")
或者您可以使用单击。退出(“某些适当的消息”)
而不是异常。当我尝试此操作时,我得到了一个语法错误:def create(name,view=None,provider):语法错误:默认参数后面是非默认参数
@ANIL请确保view=None
是参数列表中的最后一项。