在sys模块字典方面,使用package vs module导入时会发生什么?

2024-04-19 13:04:25 发布

您现在位置:Python中文网/ 问答频道 /正文

就sys模块字典而言,写入import modulenamefrom modulename import function/variable会将整个模块加载到sys modules dictionary表中。你知道吗

导入包是否也以同样的方式运行。也就是说,在使用import packagefrom package import modulename时,是否将包中的所有模块加载到sys modules dictionary表中?你知道吗


Tags: 模块fromimportmodulespackagedictionary字典sys
1条回答
网友
1楼 · 发布于 2024-04-19 13:04:25

sys.modules mapping serves as a cache of all modules that have been previously imported, including the intermediate paths. So if foo.bar.baz was previously imported, sys.modules will contain entries for foo, foo.bar, and foo.bar.baz. Each key will have as its value the corresponding module object.

当任何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

相关问题 更多 >