gpt4 book ai didi

python - 将 click.command 的结果传递给另一个函数

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:20 25 4
gpt4 key购买 nike

我正在尝试实现基本的命令行功能。

所以我需要能够将文件作为参数传递,读取它并进一步传递结果。

但由于某种原因,它没有按预期工作。

import click


@click.command()
@click.argument('arg', nargs=1, type=click.File('r'))
def touch(arg):
return len(arg.readlines())


def fill():
print touch()


if __name__ == '__main__':
fill()

没有任何输出。但似乎 touch() 正在执行,因为如果我将 print 语句添加到 touch() 中,我可以在输出中看到一些内容。

最佳答案

不幸的是,使用 click 会使您的函数永远不会返回任何值。您可以使用 click.echo 将值打印到前端,但您无法返回任何值,因为函数执行完成后它会退出。换句话说,一旦用 click.command 包装它,它就不再表现为函数,而是成为命令行程序。

您也可以使用optparse来实现您想要实现的目标。

资源 - https://docs.python.org/2/library/optparse.html

编辑:- 我在这里发现了类似的问题,您也可以将此作为引用 - How do I return a value when @click.option is used to pass a command line argument to a function?

关于python - 将 click.command 的结果传递给另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36112505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com