一、模块概述:
模块往往对应于python程序文件。
1、import 使客户端以一个整体获取一个模块
2、from 允许客户端从一个模块文件中获取特定的变量名
3、imp.reload 在不中止python程序下,提供了一种重新载入模块文件代码的方法。
Python程序架构
在Python中 ,顶层文件包含了程序的主要的控制流程,这就是你需要运行来启动应用的文件。模块文件就是工具的库。
顶层文件使用了在模块文件中定义的工具,而这些模块使用了其他模块所定义的工具
二、导入
Import 导入时会从向上到下执行导入文件,导入模块后,可以执行模块中定义的方法
导入时分三个步骤:找到模块文件、编译、创建对象,但如果已经导入过了,就不会执行这些步骤了
导入时,只需要指定文件的名字,不需要路径和后缀。
三、模块搜索路径:
导入的重要部分是定位导入的文件
python已经导入的模块保存在一个内置的sys.modules中,可以通过sys.modules.keys()
有些进行了预先定义,而其中有些你可以进行调整来让python搜索
1:程序的主目录 : 首先在主目录内搜索导入的文件
2:pythonpath目录 :
3:标准链接库目录
4:任何.pth文件的内容
这四部分组合sys.path
导入其他目录下的模块,可以先通过sys.path.append将目录地址增加,然后再导入模块。
5: 使用from.. import ..
导入模块中的那个方法
例如 :from sys import version
6:_name_属性
在python中有主模块与非主模块之分
如果一个模块的_name_属性的值是_main_,那么就说明这个模块是主模块
if __name__ == "__main__": print "It's main" else: print "It's not main"