首页 > 代码库 > python中的import
python中的import
python中的import操作有点类似于C语言中的#include,但又有很大的不同。在c语言中,#include是编译前将另一个文件包含进当前文件中。在python中导入并非只把一个文件文本插入另一个文件而已。
导入其实是运行时的运算,程序第一次导入时会执行三个步骤。
1 找到模块文件
2 在需要时编译成位码
3执行模块的代码来创建其所定义的对象
这三个步骤只有在模块第一次被导入的时候才会执行,之后导入相同模块的时候会跳过这三个步骤,而只提取内存中所加载的模块对象。
python会把载入的模块存储到一个名为sys.modules的表中,导入模块时会检查这个表,如果模块在表中存在则不会启动上面的三个步骤。
import语句后所引用的模块文件没有文件路径,也没有文件后缀。那python是如何找到模块并将其导入文件的呢?
原来python有一个sys.path系统变量,这个变量存储了import语句的搜索路径。这个搜索路径主要由四个部分组成:
1 程序的主目录
2 PYTHONPATH目录
3 标准链接库目录
4 任何.pth文件的内容
import文件的后缀是刻意从import语句中省略的。python会在搜索路径中选择第一个符合导入文件名的文件。
此外 import还可以利用钩子程序让import在导入文件时做各种有用的事情。具体的钩子函数就是内置的__import__函数,具体用法见相关手册。
python中的import
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。