day 16

1.模块的循环导入:有可能在导入的过程中取不到被导入模块的所有名字
解决方法:
1.将循环导入的语句放在名字定义的后面
2.将循环语句放在函数内
2.区分py问文件的两种用途(脚本,模块)
1.当文件被执行时:_name_==_main_
2.当文件被导入时:_name_==模块名

3.模块的搜索路径:
1.模块探索路径的优先级
1.内存已经加载的模块
2.内置的模块
3.sys.path (以当前执行文件为标准)

解决方案一:
impotr sys
sys.path.append(r"路径")
解决方案二:
from 文件夹 import 模块名
from 文件夹.文件夹 import 模块名
强调: 所有的被导入的模块参照的环境变量 sys.path 都是以执行文件为标准的
2.绝对导入 与 相对导入
绝对导入:以执行文件sys.path为起始点开始导入的称之为绝对导入
优点:执行文件与被导入的模块都可以使用
缺点:所有导入都是以sys.path为起始点,导入麻烦
相对导入:参照当前所在文件的文件夹为起始点开始查找
符号: .代表当前文件所在文件夹 .. 代表上一级文件夹
优点:导入更为简单
缺点:只能在被导入的模块中使用
4.文件开发的目录规范:
bin:执行文件(start)
conf:配置文件(变量)
lib:模块(库)
core:核心逻辑
log:日志文件
db:数据库
readme;说明书
原文地址:https://www.cnblogs.com/jxl123/p/9442897.html