包用于将一组模块归并到一个目录中,此目录即为包,目录名即为包名
1.包是一个有层次的文件目录结构,它定义了一个由模块和 子包组成的Python应用程序执行环境
2.基于包,Python在执行模块导入时可以指定模块的导入路径
import 目录名. 目录名 . 模块名
import dir1 .dir2 .mod1
例,构建包的条件:
查看/opt/python361是否在搜索路径中
1
2
|
In [
28
]: sys.path
Out[
28
]: ['
',...... '
/
root
/
.ipython
', '
/
opt
/
python361']
|
在此目录下新建一个文件夹pkg1
1
2
|
[root@kurol python361]
# ls__pycache__ mymod.py
[root@kurol python361]
# mkdir pkg1
|
pkg1目录下应包含至少一下2个文件:
__init__.py(__init__.py可包含python代码,但通常为空,仅用于扮演包初始化的挂钩、替目录产生模块命名空间以及使用目录导入时实现from *行为的角色)
mod1.py(一个模块文件)
1
2
3
4
5
6
7
8
9
10
11
|
[root@kurol python361]
# cd pkg1/
[root@kurol pkg1]
# touch __init__.py
[root@kurol pkg1]
# cd -
/
opt
/
python361
[root@kurol python361]
# ls
__pycache__ mymod.py pkg1
[root@kurol python361]
# cp mymod.py pkg1/
[root@kurol python361]
# cd pkg1/
[root@kurol pkg1]
# ls
__init__.py __pycache__ mymod.py
[root@kurol pkg1]
# mv mymod.py mymmm.py
|
导入包:
1
2
|
In [
33
]:
import
pkg1.mymmm
In [
34
]:
|
本文转自谢育政 51CTO博客,原文链接http://blog.51cto.com/kurolz/1935029
:,如需转载请自行联系原作者