我正在使用Python腳本將某些子進程用於某些其他Python腳本。我需要確保Python子進程成功運行。有沒有關於在成功運行的Python腳本的最後exit(0)
或return 0
更好的約定?退出0與返回0 Python首選項
我不認爲它從功能角度來說很重要,但我想知道是否是首選。
我正在使用Python腳本將某些子進程用於某些其他Python腳本。我需要確保Python子進程成功運行。有沒有關於在成功運行的Python腳本的最後exit(0)
或return 0
更好的約定?退出0與返回0 Python首選項
我不認爲它從功能角度來說很重要,但我想知道是否是首選。
你將永遠使用sys.exit(exit_code)
return 0
不會在系統級別中可以看出。
關注中(錯誤)代碼:
if __name__ == "__main__":
return 0
是錯誤的,抱怨的最後一行,有獨立的return
功能
外嘗試這不會抱怨,但不會被看到系統級:
def main():
return 0
if __name__ == "__main__":
main()
正確的是:
import sys
def main():
sys.exit(0)
if __name__ == "__main__":
main()
退出(0)vs sys.exit(0)很重要嗎? –
@PhilBraun我總是隻看到'import sys'後面跟着'sys.exit(0)'。其他選項(我不記得看到)是從'sys import exit'退出,然後是'exit(0)'。但是你的問題讓我去測試,如果我可以在沒有從'sys'導入的情況下調用'exit'並且它真的有效(Python 2.7.6)。所以它可以工作,但我會建議使用'import sys',然後加上'sys.exit(code)'成語。 –
我認爲'sys.exit(0)'更清晰,同時也檢出用於標準退出代碼的[errno](https://docs.python.org/2/library/errno.html)模塊。 – user3557327
erm ... python不*具有'main'功能,因此您的選擇是調用'sys.exit'或* not *調用它。沒有'return 0'這樣的東西,因爲它會在函數外面引發'SyntaxError'。 – Bakuriu