更新时间:2022-10-08 22:58:59
包用于将一组模块归并到一个目录中,此目录即为包,目录名即为包名
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 ]:
|