我正在尝试使用Click编写python模块。
在模块中,我有一个main
组,该组具有两个命令func1
和func2
。
func1
和func2
接受用户输入作为参数。
import click
@click.group(invoke_without_command=True)
def main():
pass
@main.command()
@click.option('--text', prompt='Enter a word')
def func1(text):
click.echo(f'Func1 is called and the input is {text}')
@main.command()
@click.option('--text', prompt='Enter another word')
def func2(text):
click.echo(f'Func2 is called and the input is {text}')
if __name__ == '__main__':
main()
一旦模块被调用,我想一一调用func1
和func2
。更多细节,当我调用该模块时,结果应如下所示:
Func1 is called and the input is word
Func2 is called and the input is anotherword
当前,我可以使用命令名称(python tool.py func1
)调用模块,并且仅执行该命令。我尝试过:
# rest of the code
if __name__ == '__main__':
main()
main.func1()
但是没有运气。
我的目标是在调用模块时不传递命令名称的情况下调用模块并逐个运行命令。有什么帮助我该怎么办?或者实现此目的的可靠方法是什么?
我有一些使用JavaScript的经验,但是我是Python的新手。 任何帮助将不胜感激。 非常感谢