回答
如果您的程序可用作庫,但您也有主程序(例如測試庫),那麼該構造允許其他人將文件作爲庫導入,而不運行主程序。如果您的程序名爲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. 重新啓動Python程序
- 3. 通過Python啓動Labview程序
- 4. Python的另一應用程序啓動
- 5. Bluemix Python應用程序啓動失敗
- 6. 啓動python到mac應用程序
- 7. 從Python內啓動應用程序
- 8. 運行git pull然後啓動真實應用程序的Python啓動程序
- 9. QProcess可以啓動程序但不能啓動python(命令行)
- 10. 如何在Windows 7啓動時啓動python shell程序?
- 11. 啓動程序
- 12. Python,啓動一個.py程序並終止以前的程序
- 13. 自動阻止應用程序從啓動程序啓動
- 14. 從啓動程序
- 15. Python線程無法啓動。
- 16. Python - 檢測啓動過程
- 17. 啓動應用程序在啓動時
- 18. 啓動預設Android啓動程序
- 19. 在啓動時啓動應用程序
- 20. 在啓動時啓動應用程序
- 21. 自動啓動Java程序
- 22. 如何編寫一個在Windows啓動時自動啓動的python程序?
- 23. 如何在Raspbian的OS啓動程序中啓動Mono程序?
- 24. 在應用程序啓動時啓動應用程序類
- 25. 程序啓動在Windows啓動應用程序
- 26. FIREMONKEY - 運行啓動程序啓動應用程序(OSX)
- 27. 的Android程序啓動程序並點擊時無法啓動
- 28. 始終從啓動程序啓動應用程序
- 29. 從應用程序啓動「啓動器應用程序抽屜」?
- 30. 程序啓動後啓動Java代理程序
@Kirill Titov:請不要編輯問題來說「已關閉」。它並沒有關閉。你選擇了一個答案 - 這是完美的,你需要做的。做更多是令人困惑的。 – 2008-11-13 16:38:44