python3精要(34)-import工作原理

1、import导入模块,不是将一个文件插入到另一个文件中,它额外做了以下三方面工作:
(1)搜索找到模块文件
使用标准模块搜索路径找到该模块文件,并没有指定文件所在路径,可以是以点号分隔的相对路径名。
(2)编译成字节码(需要时)
检查模块文件的时间戳,如果比字节码pyc时间晚,说明模块文件已经修改,则重新编译成字节码。如果‘没有发现模块文件的源文件,只有pyc,则跳过源文件,不编译。
(3)执行模块代码
这3方面工作只会在第一次导入时进行。
模块文件的所有代码得到运行。
2、python将导入的模块存储在sys.modules字典中,并在第一次导入操作时检查该表,如果已经导入,在字典中将找到,于是不会执行1中讲述的3个工作。
3、python的模块搜索路径4部分:
(1)程序的主目录
运行的程序顶层脚本文件所在路径。
(2)PYTHONPATH路径
环境变量
(3)标准链接库目录
python默认存放标准库的路径

c:\python\lib\sitepackages
/usr/local/lib/site-python

(4)任何.pth文件内容
一个文本文件,每行一个路径
放在python安装目录或python标准库路径

 以上4部分组成了sys.path
 一个python内置列表变量
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 护眼 设计师:闪电赇 返回首页