簡體   English   中英

您可以從Python中的main()函數返回值嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM