簡體   English   中英

就sys模塊字典而言,使用-package vs module導入時會發生什么?

[英]In terms of sys module dictionary, what happens when importing by using - package vs module?

就sys模塊詞典而言,編寫import modulename模塊import modulenamefrom modulename import function/variable寫入會將整個模塊加載到sys模塊詞典表中。

導入包的行為是否也相同。 那是-當使用import packagefrom package import modulename ; 這會將包中的所有模塊加載到sys模塊詞典表中嗎?

sys.modules映射充當所有先前導入的模塊(包括中間路徑)的緩存。 因此,如果以前導入了foo.bar.baz,則sys.modules將包含foo,foo.bar和foo.bar.baz的條目。 每個鍵都有對應的模塊對象作為其值。

導入任何python軟件包時,都會隱式執行其__init__.py文件,並因此將額外的綁定添加到sys.modules中。

就像您導入python requests包一樣,以下條目也會添加到sys.modules

requests
requests.exceptions
requests.__version__
requests.utils
requests.certs
requests._internal_utils
requests.compat
requests.cookies
requests.structures
requests.models
requests.hooks
requests.auth
requests.status_codes
requests.api
requests.sessions
requests.adapters

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM