为什么选择sys.modules作为字典?

时间:2013-04-15 11:19:01

标签: python python-import

当Python想要导入模块时,它首先会查看sys.modules。但由于字典的键值对不是固定的顺序,你怎么能确定sys.modules中哪两个同名的模块将被先导入?

1 个答案:

答案 0 :(得分:7)

由于它是一个映射,因此sys.modules

这就是重点。如果使用语句import foosys.modules['foo'],则返回该模块。无需文件访问,无需运行该模块的顶级代码。

如果foo不存在,则sys.path会确定首先找到foo的位置。该值是一个列表,因此它具有顺序,并且foo模块的搜索是根据该顺序进行的。