Python 包
在创建许许多多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。包是一个分层的文件目录结构,它定义了一个由模块及子包和子包下的子包等组成的Python的应用环境。
包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹被当作包使用时,文件夹中需要包含__init__.py文件,主要是为了避免将文件夹名当作普通的字符串。__init__.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from package-name import *这语句使用的,全部导出定义过的模块。
例如:
有一个目录test,目录中有几个文件:
test/a.py 含有函数add()(当然可以包含多个函数或类)
test/b.py 含有函数sub()
现在在test目录下创建文件__init__.py
当导入test包时,为了能使用所有的函数,你需要在__init__.py里使用显示的导入语句。如下:
from a import *
from b import *
当把这些代码添加到__init__.py之后,再导入test(import test)包的时候这些方法或类等就全部是可用的了。
#!/usr/bin/python
import test
test.add()
test.sub()