[英]Can you return a value from a main() function in Python?
假設我有一個實用程序腳本:
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
的常規函數。 因此,如果您詢問是否可以在main
函數中使用return
,那么絕對可以。 您肯定可以
有可能的。 你可以,例如,返回一個字典(或列表或元組,或其他) utility.main()
然后grub的所有詞典,並將它們存儲在一個列表rollup.main()
里面for
循環中,進一步闡述。
在這種情況下, utility.main()
就是普通函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.