你能从Python中的main()函数返回一个值吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你能从Python中的main()函数返回一个值吗?相关的知识,希望对你有一定的参考价值。

假设我有一个实用程序脚本:

utility.py

def func1(input):
    # do stuff to input
    return stuff

def func2(input):
    # do more stuff to input
    return more_stuff

def main(argv):
    stuff = func1(argv[1])
    more_stuff = func2(argv[1])
    all_stuff = stuff + more_stuff
    # write all_stuff to stdout or file

if __name__ == "__main__":
    main(argv)

此脚本由另一个汇总脚本调用,如下所示:

rollup.py

import utility

def main(argv):
    # assuming a list of of inputs is in argv[1]
    inputs = argv[1]
    for input in inputs:
        utility.main(['utility.py', input])

if __name__ == "__main__":
    main(argv)

现在让我们说我希望汇总脚本打印或写入文件,由每个utility.py实例生成的所有内容的组合输出。

有没有办法通过将utility.py的输出返回到汇总脚本来执行此操作?或者汇总脚本是否必须读入utility.py生成的所有输出或输出文件?

请注意,我不会问这是否被视为最佳实践,或者是否在编程圈中“允许”。我知道main应该只返回成功或失败代码。我只想问是否有可能。

答案

在你的代码中,main函数只不过是一个名为main的常规函数​​。所以如果你问你是否可以在你的return函数中使用main,那么绝对是的。你当然可以

另一答案

有可能的。例如,您可以在utility.main()中返回字典(或列表,或元组,或其他),然后对所有字典进行grub并将它们存储在rollup.main()循环内的for列表中,以供进一步详细说明。

在这种情况下,你的utility.main()只不过是正常的功能。

以上是关于你能从Python中的main()函数返回一个值吗?的主要内容,如果未能解决你的问题,请参考以下文章

Python:你能从windows中读取鼠标悬停文本吗?

您可以从 Redshift 中的 python UDF 返回多个值吗?

WKWebView 可以调用主应用程序中的函数并返回值吗?

main函数的返回类型有啥区别

主函数可以有默认参数值吗?

你能从 SwiftUI 中的 MapKit 数据库中获取纬度和经度吗