我是点击新手,遇到不懂的第一点
我正在尝试创建一个具有
@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
函数中像普通变量一样工作,但它似乎没有在它之外定义。
我在这里错过了什么。如何实现?任何帮助将不胜感激。