回答
如果您的程序可用作庫,但您也有主程序(例如測試庫),那麼該構造允許其他人將文件作爲庫導入,而不運行主程序。如果您的程序名爲foo.py,並且您從另一個python文件「import foo」,__name__
的計算結果爲'foo'
,但是如果從命令行運行「python foo.py」,則__name__
的計算結果爲'__main__'
。
請注意,你需要插入一個空間,如果和_之間,並縮進主程序:
if __name__ == '__main__':
main program here
+1:重用很重要。一個模塊可以有2條命。作爲主要計劃。作爲其他主要計劃的組成部分。作爲主要的程序是事情。作爲組件,它只是定義了一些東西。 – 2008-11-13 15:41:07
這可能不用說,但要確保這個條件在你的文件末尾。 – 2008-11-14 00:51:43
這是很好的做法。首先,它清楚地標記了你的模塊入口點(假設你沒有任何其他可執行代碼在頂層 - 惡作劇)。其次,它使得你的模塊可以被其他模塊導入而不被執行,像代碼檢查器,打包器等工具需要做的事情。
吉多·範羅蘇姆suggests:
def main(argv=None):
if argv is None:
argv = sys.argv
...
if __name__ == "__main__":
sys.exit(main())
這樣你可以從別的地方(供應參數)運行main()
,如果你想用一個錯誤代碼main()
只是return 1
退出,並獲得了」不要讓交互式解釋器錯誤地退出。
- 1. 如何用Python啓動程序?
- 2. Bluemix Python應用程序啓動失敗
- 3. 啓動python到mac應用程序
- 4. 從Python內啓動應用程序
- 5. 運行git pull然後啓動真實應用程序的Python啓動程序
- 6. QProcess可以啓動程序但不能啓動python(命令行)
- 7. Python,啓動一個.py程序並終止以前的程序
- 8. 自動阻止應用程序從啓動程序啓動
- 9. 從啓動程序
- 10. Python - 檢測啓動過程
- 11. 在啓動時啓動應用程序
- 12. 在啓動時啓動應用程序
- 13. 自動啓動Java程序
- 14. 如何編寫一個在Windows啓動時自動啓動的python程序?
- 15. 程序啓動在Windows啓動應用程序
- 16. 從應用程序啓動「啓動器應用程序抽屜」?
- 17. 程序啓動後啓動Java代理程序
- 18. 如何用適當的python版本啓動python程序?
- 19. 在Windows 7啓動時啓動程序(自動啓動)
- 20. 如何使Python程序自動重新啓動
- 21. Firefox驅動程序無法啓動Selenium 3.0.1與FF49和Python
- 22. 在應用程序啓動時運行python-rq工作進程
- 23. 使用子進程模塊從python啓動jython程序?
- 24. 在MPI程序中啓動OpenMP程序
- 25. Bash shell程序啓動C程序
- 26. 在Windows啓動時啓動應用程序啓動
- 27. 啓動後彈出啓動應用程序立即啓動
- 28. 嘗試從作爲服務啓動的python腳本啓動程序
- 29. 啓動應用程序
- 30. qprocess啓動外部程序
@Kirill Titov:請不要編輯問題來說「已關閉」。它並沒有關閉。你選擇了一個答案 - 這是完美的,你需要做的。做更多是令人困惑的。 – 2008-11-13 16:38:44