2017-07-24 19 views
0

道歉,如果這是錯誤的方式來問這個問題。從函數或main中退出python腳本會更好嗎?

所以我做了一些基本的谷歌搜索,看着PEP-8 recommendations,但我仍然無法找到一個很好的代碼指南我的問題:

是更好地從函數內或退出我的python腳本return 1並讓__main__機身手柄退出?

例子:

def exit_fun(): 
    if foo: 
    keep going 
    else: 
    exit(1) 

if __name__ == "__main__": 
    exit_fun() 
    next_fun() 

- 或 -

def exit_fun(): 
    if foo: 
    keep going 
    else: 
    return 1 

if __name__ == "__main__": 
    funfun = exit_fun() 
    if funfun == 1: 
    exit(1) 
    next_fun() 

弗里斯特方式看起來比較清爽,以我的眼睛,但我的眼睛沒有比較風格指南。

+1

爲什麼腳本退出?是錯誤處理?我會發現,在腳本執行過程中突然退出腳本時會發生這種情況。相反,我會發現它更「正規」來提升特定的異常或使用錯誤代碼。 – CoryKramer

+1

請注意'exit(1)'基本上就是'raise SystemExit(1)'。 –

+0

@CoryKramer:腳本在遇到錯誤時退出並不罕見。如果你的程序中不需要更多的錯誤處理,那麼就不需要異常或錯誤代碼(儘管'exit()'技術上引發了一個異常)。 –

回答

0

由於PM2Ring寫道:

這是更好的風格的一切,回到主菜單,並讓它處理退出。

這樣回答了,也謝謝大家的sys.exit()指針VS exit()