python中的模块(module)包(package)和import
python因为其灵活性,也带来了很多特殊的用法,
项目结构约定
project/
│
├── main.py
├── routers/
│ ├── __init__.py
│ ├── items.py
│ └── users.py
├── models/
│ ├── __init__.py
│ ├── item.py
│ └── user.py
├── schemas/
│ ├── __init__.py
│ ├── item.py
│ └── user.py
├── utils/
│ ├── __init__.py
│ ├── string_util.py
│ └── log_factory.py
└── templates/
└── index.html
package和import
- 默认情况下,一个py源文件就是一个模块,可以直接使用import py_name 进行导入
project/
│
├── main.py
├── vp_smtp.py
# vp_smtp
def send_mail(msg: str):
print(msg)
pass
# main.py
# 模块全部导入
import vp_smtp
# 使用模块名称访问
vp_smtp.send_mail("使用模块名称访问")
# 导入模块并重别名
import vp_smtp as vpsmtp
# 使模块别名调用
vpsmtp.send_mail("使模块别名调用")
# 导入模块中的具体的方法
from vp_smtp import send_mail
# 调用方法
send_mail("直接调用方法")
- 将源文件放入到一个文件夹,并在文件夹下面防止一个**init.py**文件,则成了一个包:(管理一组模块)