开发目录的规范

标准目录的规范

我们学习了模块和包之后,为了更好的管理自己的代码就需要将自己的代码分为文件,在分文件夹来管理。有一种普遍规定的规范吗?这就是开发目录规范。

开服目录规范的基本文件结构:

bin 文件夹下为执行文件

core 文件夹下为主逻辑代码内容

conf 文件夹下为配置文件

lib 文件夹下为自定义模块(包)

db文件夹为数据文件

log 文件夹下为日志文件

readme 软件介绍文件

上诉文件夹是普通文件夹

包的本质就是文件夹,所以在Python项目中有__init__文件的就是包

init文件的作用是为了集中所有功能让外界方便调用。

bin文件夹下执行文件,那么不能为包。

conf文件夹是软件的配置信息,比如mysql,oracle,他们明显不是需要一同调用的,所以不用写init文件。

core业务逻辑代码,这其中一定有一个用户的入口,用户进入以后只是在这些不同的业务中来回执行操作,所以这个文件下的模块是相互调用的关系,不需要集合功能给外界调用。

db,lib,log逻辑上更上诉结论相似。

总结:项目的标准结构的第一层仅仅是文件不是包。

如何在执行文件调用项目结构中所有的文件

执行文件需要从core文件下调用主逻辑代码。主逻辑代码需要调用日志,配置,数据,公共模块等。

可是依照模块的查找顺序,内存已存在的模块——>内置的模块——>sys.path中的路径。

显然上诉模块无法被读取。所以需要将sys.path中添加可以查找导入所有文件的路径。

请在执行文件中书写上诉代码

import sys,os
#导入sys模块添加将路径添加到sys。path中去,
#os模块,获取相应的文件路径
BASE_DIR=os.path.dirname(os.path.dirname(__file__)))
#__file__可执行文件的路径
#os.path.dirname()返回当前文件或文件夹的上级文件夹
#BASE_DIR就是这个开发软件的根目录
sys.path.append(BASE_DIR)

 

那么导入模块和使用模块的方法

import core.src
core.src.run()

 

主逻辑文件中导入配置文件

from conf import settings
def login():
    with open(settings.DB_PATH) as f:
        print(f.read())

 

在lib下的common中

#配置文件获取 日志路径
from conf import setting
#日志功能
def logger(msg):
    with open(setting.LOG_PATH,‘a’,encoding= 'utf-8') as f:
        f.write(msg)

 

主逻辑代码导入模块

 

posted @ 2018-10-15 16:34  msjaxuexi  阅读(412)  评论(0编辑  收藏  举报