样本代码:

import click

@click.command
@click.option('-f/-F', 'var', default=True)
def main(var):
    click.echo(var)

main()

main()函数内部,如何判断var参数默认为True,还是用户传递的?

我想要实现的目标:我将拥有很少的旗帜.当用户没有传递任何标志时,我希望它们全部为True.当用户传递至少一个标志时,只有传递的标志应为True,其他标志应为False.

推荐答案

由于我没有真正使用过单击--也许有一些功能来处理这个问题,但作为解决办法,我会将默认值设置为无,并在调用命令时判断该值是否为无.类似于这样的:

import click

@click.command
@click.option('-f/-F', 'var', default=None)
def main(var):
    if var is None:
       var = True
       print("No Value Provided - default to True")
    click.echo(var)

main()

Python相关问答推荐

如何推迟对没有公钥的视图/表的反射?

在for循环中保存和删除收件箱

如何将 map 数组组合到pyspark中每列的单个 map 中

当测试字符串100%包含查询字符串时,为什么t fuzzywuzzy s Process.extractBests不给出100%分数?

将从Python接收的原始字节图像数据转换为C++ Qt QIcon以显示在QStandardProject中

避免循环的最佳方法

KNN分类器中的GridSearchCV

"如果发生特定错误,返回值

机器人与Pyton Minecraft服务器状态不和

请从Python访问kivy子部件的功能需要帮助

如何根据条件在多指标框架上进行groupby

如何在Windows上用Python提取名称中带有逗号的文件?

Pandas 都是(),但有一个门槛

在Polars(Python库)中将二进制转换为具有非UTF-8字符的字符串变量

PMMLPipeline._ fit()需要2到3个位置参数,但给出了4个位置参数

用合并列替换现有列并重命名

ThreadPoolExecutor和单个线程的超时

pandas:排序多级列

如何禁用FastAPI应用程序的Swagger UI autodoc中的application/json?

在Admin中显示从ManyToMany通过模型的筛选结果