024模块的概念
###模块
calculate是自己写的,出现红色也可以调用
import calculate # 通过搜索路径找到calculate.py后,将calculate = calculate.py(的全部代码) print(calculate.add(4,5)) from calculate import * print(add(3,4),' ',sub(3,4)) from calculate import add as plus print(plus(3,4))
###包
导入包中的模块
from web import logger logger.logger()
导入包中包的模块
from web.web2 import logger logger.logger()
导入包中包模块的方法
from web.web2.logger import logger logger()
导入包解释了__init__文件
导入模块和包的区别,导入模块把模块解释了一遍,导入包只是解释了__init__文件
###项目中的模块导入比较复杂
简单目录结构,最后执行bin.py
logger
main
这里使用from module import logger的原因是因为在bin下执行的,工作目录在那里,但是还是要使用sys模块添加工作路径。
#bin
# 所以就有了下面的步骤
import sys,os BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #拿到这个路径的上两层路径,也就是atm_demo路径 print(BASE_DIR) #F:\python_code\atm_demo sys.path.append(BASE_DIR) #解释器添加这个路径,让解释器可以找到,解释器默认从当前目录开始找
from module import main main.main()