1、__init__.py的作用
- __init__.py 是 Python包的初始化文件。当一个目录包含这个文件时,该目录就被认为是一个 Python 包,可以通过导入语句来引用这个包中的模块和函数。
- 在Python3.3 以前必须在调用包的文件夹内放一个__init__.py文件,才能把文件夹中的内容作为包导入。Pyhton3.3 后可以不用。
- 简单来说,__init__.py 的作用是将包含它的目录标记为一个 Python 包,使得该目录下的模块可以通过包的方式进行导入和使用。
2、示例
- Fuzzing/main.py需要调用strategy_module.py中包含的函数,目录结构如下:
-
project/ ├── Fuzzing/ │ └── main.py └── Mutation/ └── strategy/ └── strategy_module.py
-
- 首先添加__init__.py。
-
project/ ├── Fuzzing/ │ └── main.py └── Mutation/ ├── __init__.py └── strategy/ ├── __init__.py └── strategy_module.py
- 【注】涉及到的文件夹都要添加__init__.py。
-
- 在main.py中导入包。
-
from Mutation_03.strategy import strategy_module
-
- 当 Python 解释器在导入模块时,会根据导入路径查找相应的目录。如果目录中包含 __init__.py 文件,该目录会被识别为一个包,进而可以包含子模块或子包。
- 【注】文件夹下还有文件夹,使用 “.”,而不是用 “/”。
- 调用方法:
-
strategy_module.xxx()
-