如果单击 python 选项为真,如何只需要一个参数?

问题描述 投票:0回答:0

我是点击新手,遇到不懂的第一点

我正在尝试创建一个具有

@click.argument()
标签的
required
依赖于
@click.option()
.

我做了一些代码来测试这个。

@click.command()
@click.option('-t','--test',is_flag=True, default=False)
@click.argument('source', default=None, required=False)
def foo(source, test):
    if source:
        print('source is something')
        print(test)
    else:
        print('source is None')
        print(test)

if __name__ == '__main__':
    foo()

但我希望只有在给出选项

@click.argument('source', default=None, required=False)
时才需要
-t
。否则,它应该接受没有参数。

我试过做这样的事情:

@click.argument('source', default=None, required=test)
但它没有用。变量
test
似乎在
foo
函数中像普通变量一样工作,但它似乎没有在它之外定义。

我在这里错过了什么。如何实现?任何帮助将不胜感激。

python python-3.x click
© www.soinside.com 2019 - 2024. All rights reserved.