這裏import-hooks它被寫爲元鉤在sys.meta_path
登記。同樣在這個列表中還有發現者。那麼meta hook和發現者有什麼區別?它們是一樣的嗎?爲什麼他們保持在同一個地方?finder和meta hook有什麼區別?
4
A
回答
1
你引述的文件說:
元掛鉤是通過添加新的Finder對象登記sys.meta_path
所以,我會說是的,它們是相同的事情。
1
他們是微妙的不同。這document提供了進口機械的全面討論。
在導入處理開始時調用元鉤子。因此,他們可以參與所有類型的進口,包括內置模塊或冷凍模塊等進口產品,以及通過sys.path
開始處理基於磁盤的模塊位置。基本上,在這個級別
路徑掛鉤稍後在處理每個sys.path
條目期間在導入處理中調用。他們有機會返回一個對象,該對象將負責在特定路徑條目中查找模塊。例如,如果sys.path
包含[/usr/lib/Python3, /home/user/mypython]
,你可以提供一個路徑掛鉤,將能夠做到不標準的東西來定位模塊項目mypython
兩個鉤子允許您提供一個finder
這可能需要定位的全部責任模塊在特定的上下文中。例如,元路徑鉤子用於從zip
文件導入模塊。
相關問題
- 1. save-hook-hook和write-file-function之間有什麼區別
- 2. http header和html meta的字符集有什麼區別?
- 3. TeamCity的構建模板和meta-runners有什麼區別?什麼時候使用?
- 4. 有什麼區別`和$(Bash中有什麼區別?
- 5. 有什麼區別? :和||
- 6. &&和||有什麼區別?
- 7. 「/」和「/ *」有什麼區別?
- 8. 有什麼區別:。!和:r!?
- 9. ==和===有什麼區別?
- 10. Appender和〜有什麼區別?
- 11. $ @和$ *有什麼區別?
- 12. is和=有什麼區別?
- 13. #.00和#。##有什麼區別?
- 14. `==`和`is`有什麼區別?
- 15. '=='和'==='有什麼區別?
- 16. /和/#/有什麼區別?
- 17. | 0和~~有什麼區別?
- 18. `&`和`ref`有什麼區別?
- 19. ==和===有什麼區別?
- 20. ==和===有什麼區別?
- 21. `{}`和`[]`有什麼區別?
- 22. JavaScript和=== ===有什麼區別?
- 23. difftime和' - '有什麼區別?
- 24. =和==有什麼區別?
- 25. django形式的meta和property的區別是什麼?
- 26. 有什麼區別
- 27. 有什麼區別
- 28. ....有什麼區別?
- 29. 有什麼區別
- 30. 有什麼區別?
*它們有多細微差別?你可以請*在這裏解釋*在這篇文章中他們是怎麼樣的?基本上只包含鏈接的答案是[認爲不好的做法](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers)。請總結這裏的內容(不要複製/粘貼),這樣答案就可以獨立運作。如果你不這樣做,那麼你的答案就會被刪除,特別是如果鏈接死亡的話。 –