文章目录
from…import 语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。
- 命名空间:是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典。
搜索路径
(当你导入一个模块,Python 解析器对模块位置的搜索顺序是)
-
当前目录
-
如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
-
如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为
/usr/local/lib/python/
。 -
system模块:
- 模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
- 查看当前的搜索路径:
print(sys.path)
- 追加搜索路径:
sys.path.append("/path")
- 插入搜索路径,被优先搜索:
- 增加指定路径:
sys.path.insert(0, "/path")
- 增加路径为上一级:
sys.path.insert(0, "..")
- 增加指定路径:
示例代码
# 项目结构
├── all_config
│ └── settings.py
└── src
├── __init__.py
├── config
│ └── settings.py
├── db
│ ├── __init__.py
│ └── database.py
└── main.py
# src/db/database.py
sys.path.insert(0, "..") # 告知python在上一级目录搜索,否则 无法database无法找到config文件夹
from config.settings import MYSQL