基于模块化编程
代码模块化是进行大型项目的必经之路,通过将代码进行模块化、解耦将功能进行模块化。在C语言中通过include
语法,将不同模块的头文件进行重复利用;在javascript中使用module export||require
语法实现模块的引入。同样在python中也可以引入自定义模块,简化代码。
1.定义模块
模块文件实际上就是一个python
脚本,脚本中可以向外部提供变量、函数、类等数据结构
## 模块文件readHomolog.py
def readHomologous(fileName,sep,columnId1,columnId2):
HomologDict={}
if __name__ == "__main__": #调试模块时才会运行
pass
2.组织模块
当一个工程之中包含有多个模块,并且模块之间具有一定的依赖关系;我们可以将这些模块组织起来形成一个packages。一个packages对应了一个工程所用到的模块,进而在python packa仓库发布。
module1.py
modlue2.py
packages 目录中需要包含 init.py文件,说明当前目录为packages
## 目录结构
homolog
├── __init__.py
├── __pycache__ ##引入packages后自动创建
└── readHomolog.py
3.引入模块
3.1直接引入
当python可执行脚本与模块文件同属于一个父目录时,可以直接引入
例如run.py
脚本与模块文件readHomolog.py
同属于一个父目录,所以在run.py
中直接import 即可。这里引入的是模块文件中自定义的函数
from readHomolog import readHomologous
homolog
├── __init__.py
├── __pycache__ ##引入packages后自动创建
└── readHomolog.py
|__ run.py
3.2sys模块引入
使用sys
模块,指定自定义模块所在目录,python能够自动进行搜索
#在run.py中
import sys
sys.path.append("模块所在绝对路径")
from readHomolog import readHomologous
3.3通过pth文件进行配置
在python的安装路径\Python35\Lib\site-packages
中配置对应的pth文件,
pth文件格式
conda中python对应的路径为~/anaconda3/lib/python3.6/site-packages
module_模块名.pth
在脚本中直接引用即可
from readHomolog import readHomologous
参考
Last updated
Was this helpful?