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

标签 python import return program-entry-point

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

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 的输出返回到 rollup 脚本? 或者 rollup 脚本是否必须读入 utility.py 生成的所有输出或输出文件?

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

最佳答案

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

关于python - 你能从 Python 中的 main() 函数返回一个值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49286011/

相关文章:

python - 如何在python中调用外部程序并检索输出和返回代码?

python - Fudge:@patch 当 from X import Y'ing 而不是 import X 时不起作用?

mysql - 如何在 MySQL 中使用命令行导入 SQL 文件?

python - NaN 值与分隔符相同 - 如何导入?

java - Java 中的返回字符串在编译器中不执行任何操作

Python:如何从列中计算当前年份和年份之间的差异?

java - 在不返回 JSON 字符串的 Android 中使用 HttpPost 进行 POST,返回错误

c++ - 使用ProtocolBuffer时,是否可以为生成的C++代码指定输出导入?

c# - 如何编写一个可能返回两种不同类型的方法?

php - 函数只返回一个元素