python - 模块、导入与搜索路径

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

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值