开发目录的规范

标准目录的规范

咱们学习了模块和包以后,为了更好的管理本身的代码就须要将本身的代码分为文件,在分文件夹来管理。有一种广泛规定的规范吗?这就是开发目录规范。mysql

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

bin 文件夹下为执行文件sql

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

conf 文件夹下为配置文件app

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

db文件夹为数据文件spa

log 文件夹下为日志文件日志

readme 软件介绍文件code

上诉文件夹是普通文件夹

包的本质就是文件夹,因此在Python项目中有__init__文件的就是包blog

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)

 

主逻辑代码导入模块

相关文章
相关标签/搜索