假设我有一个实用程序脚本:
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 实例生成的所有内容的组合输出。
有没有办法通过将实用程序从test.py返回到汇总脚本来执行此操作?或者汇总脚本是否必须读入utility.py生成的所有输出或输出文件?
请注意,我不询问这是否被视为最佳做法,或者是否在编程圈中“允许”。我知道main应该只返回成功或失败代码。我只是问它是否可能。
答案 0 :(得分:3)
在您的代码中,main
函数只不过是一个名为main
的常规函数。因此,如果您询问可以在return
函数中使用main
,那么绝对是的。你当然可以
答案 1 :(得分:0)
有可能。例如,您可以在utility.main()
中返回字典(或列表,或元组或其他内容),然后对所有字典进行grub,并将它们存储在rollup.main()
中for
内的列表中。 }循环,进一步阐述。
在这种情况下,你的utility.main()
只不过是正常的功能。