首页 > 解决方案 > Python click CLI 工具不适用于除 main 之外的函数

问题描述

我正在使用 click python 库来创建一个 CLI 工具。

这是我的代码。它不像这样工作。

我希望创建一个单独的函数,将 args 作为 dict 加载和返回。

以下代码不起作用。

import click

@click.command()
@click.option("--opt", default="", help="")
def load_cli_args_t(opt):
    return {
        'opt': opt
    }


def main():
    args = load_cli_args_t()
    print(args)


if __name__ == "__main__":
    main()

但是下面的代码有效。

import click

@click.command()
@click.option("--opt", default="", help="")
def main(opt):
    print(opt)

if __name__ == "__main__":
    main()

我从文档中了解到

装饰器将函数转换为命令,然后可以调用

但是我对此无法进一步理解,为什么它只能与主要功能一起使用?

标签: pythonpython-click

解决方案


推荐阅读