內存成本顯然取決於模塊的大小,但我只是在尋找一個普通答案:在Python中導入模塊通常費用昂貴或便宜嗎?如果我有幾十個小腳本可能留在整個應用程序的內存中,那麼會佔用多少內存?Python:導入模塊的內存成本
4
A
回答
7
這聽起來像你不擔心時間成本(好,這將是愚蠢的,因爲模塊只進口一次),但內存成本。我把它給你:如果你需要這些模塊中的所有功能,那麼你打算如何計劃避免他們都在內存中?也許最合乎邏輯的方式只是import
事情。
也就是說,在Python import
是一個語句,而不是某種類型的預處理指令(或類似的),所以你可以延遲一個模塊的導入,直到你真正需要它的內容爲止,只需安排語句運行在適當的時候。這對於一些特別大型或複雜的項目來說可能是一個有意義的優化,或者至少讓棘手的事情成爲可能。請記住,當您參考foo.bar
時,Python編譯器不會嘗試檢查是否存在foo
;在運行時查看每個名字。鴨子打字在這裏發揮作用; foo.bar
代碼不在乎foo
是否是模塊,類或對象的名稱。 (這基本上是因爲模塊和類是對象,但我離題...)
+0
這實質上是Bazaar DVCS所做的事情;你可能想看看它的源代碼和它的「lazy_import」機制。 –
相關問題
- 1. Python嵌入成C - 導入模塊
- 2. Python模塊導入*
- 3. Python模塊導入
- 4. 導入Python模塊
- 5. Python導入模塊
- 6. python導入模塊
- 7. 的Python:模塊的導入模塊
- 8. 如何導入模塊成員包內
- 9. Python導入模塊不存在?
- 10. 在Python中導入模塊內部的模塊
- 11. Python:已導入的導入模塊
- 12. 的Python - 導入模塊
- 13. 蟒蛇:從內存中導入模塊
- 14. 在HTCondor中導入本地python模塊
- 15. 在Python腳本中導入模塊
- 16. 在Python中導入本地模塊
- 17. 導入的Python模塊沒有初始化內部導入
- 18. 導入python模塊需要太多內存
- 19. Python Django無法在模塊內導入模塊
- 20. python:我可以在模塊本身內導入模塊名稱空間嗎?
- 21. 僅在Python中不存在模塊時才導入模塊
- 22. Python子模塊:「導入爲」與「導入」
- 23. Python導入模塊vs導入_module
- 24. 導入Python模塊錯誤
- 25. Python模塊導入問題
- 26. 導入Python模塊失敗
- 27. 導入python作業模塊
- 28. Python模塊/導入數據?
- 29. python模塊導入錯誤
- 30. 動態導入Python模塊
我不會擔心它,除非你是在嵌入式平臺或其他東西。爲什麼不試試看。大多數(所有?)操作系統都可以查看進程正在使用多少內存。 –
@gnibbler當然,但他們通常不是很準確。現代操作系統中的內存管理涉及多層煙霧和鏡像。但我同意它不可能無論如何:) –