開發目錄的規範

標準目錄的規範

咱們學習了模塊和包以後,爲了更好的管理本身的代碼就須要將本身的代碼分爲文件,在分文件夾來管理。有一種廣泛規定的規範嗎?這就是開發目錄規範。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)

 

主邏輯代碼導入模塊

相關文章
相關標籤/搜索