模块(Module)
一个.py文件为一个模块可维护性可扩展性每个模块有独立的命名空间
模块分类
内置标准模块第三方开源模块自定义模块
模块调用
import modulefrom module import xxfrom module.xx.xx import xx as renamefrom module.xx.xx import *
模块查找路径
sys.path按照路径列表顺序去查找模块名,只要找到就停止空元素代表当前目录,所以自定义当前目录模块会被优先导入
import sys
print(sys.path)
['',
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip',
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6',
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']
包(Package)
把相关的模块放在一个文件夹中,这个文件夹就被称为包文件夹内必须存在__init__.py文件,该文件用于标识该文件夹为包
跨模块导入
添加环境变量,把父级路径添加到sys.path中,从父级开始查找
import sys ,os
# __file__的是打印当前被执行的模块.py文件相对路径,注意是相对路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
from proj import settings
绝对&相对导入
.. 上层路径. 当前路径
转载于:https://www.cnblogs.com/chacecai/p/8978832.html