Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当 Python 想要导入一个模块时,它首先会在sys.modules. 但是由于字典的键值对不是按固定顺序排列的,你怎么能确定两个同名模块中的哪一个sys.modules会首先被导入呢?
sys.modules
由于它是一个映射,因此在sys.modules.
这就是我想说的。如果使用该语句import foo并且sys.modules['foo']存在,则返回该模块。不需要文件访问,不需要运行该模块的顶级代码。
import foo
sys.modules['foo']
如果foo不存在,则sys.path确定首先要在哪里foo找到。该值是一个列表,因此它具有顺序,并且模块的搜索foo是根据该顺序进行的。
foo
sys.path