我們已經學習了模組和包以後,在開發專案就不應該再是麵條版了,應該分檔案,分資料夾,這次就是來說固定的檔案結構,也就是開發目錄規範.
# 1.資料夾的規範寫法
'''bin #可執行檔案
conf #配置檔案
core #主要業務邏輯
db #資料檔案
lib #庫(公共** 第三方模組)
log #日誌檔案
readme #說明文件(是乙個檔案)
'''#再以上資料夾中 沒有需要作為包的 你的包通常放到lib中 但是注意lib不是作為包
''' 這個資料夾到底應該是包還是只是資料夾 起始問題就是需不需要用到init
而initial的作用就是匯入包內模組中的全部功能
通過判斷是不是需要這個功能來判斷是包還是資料夾
'''# 2.定製程式的入口
'''程式的入口 主要是將專案的根目錄新增到環境變數中'''
我們以簡單的atm為例子
# 這個是業務邏輯功能 寫到core裡去
# core.atm
# 將配置檔案匯入
from conf.settings import
*# 將庫(公用**)中的檔案匯入
from lib.common import
*def
login()
:print
("登入"
) name =
"xx"
pwd =
"xx"
# with open('db.txt') 當db檔案很多的時候,我們統一把db.txt放到db資料夾裡
# 寫到db資料夾後,為了滿足每個使用者的路徑,我們不能用相對路徑了,要用絕對路徑
# with open('d:\python全棧開發\day19\1.目錄規範\db\db.txt')我們用絕對路徑,如果這個路徑要反覆使用,為了方便
# 定義乙個
# db_path = r'd:\python全棧開發\day19\1.目錄規範\db\db.txt'
# 輔助功能,配置資訊放到配置檔案settings.py中
# 呼叫修改都比較方便
with
open
(db_path,encoding=
"utf-8"
)as f:
print
(f.read())
logger(
"%s登入成功"
% name)
defregister()
:print
("註冊"
)with
open
(db_path, encoding=
"utf-8"
)as f:
print
(f.read())
defshopping()
:print
("購物")if
not login_auth():
return
with
open
(db_path, encoding=
"utf-8"
)as f:
print
(f.read())
defrun()
:print
("歡迎使用!"
)while
true
:print
("""1.登入
2.註冊
3.購物"""
) s =
input
("請選擇:"
)if s ==
"1":
login(
)elif s ==
"2":
register(
)elif s ==
"3":
shopping(
)else
:print
("輸入錯誤!"
)run(
)
lib 庫檔案(公共**)
# lib.common.py
# 從配置檔案中匯入
from conf.settings import
*def
login_auth()
:print
('登入驗證'
)# 記錄日誌 用到conf.settings中的log_path
deflogger
(msg)
:with
open
(log_path,
"at"
,encoding=
"utf-8"
)as f:
f.write(msg+
"\n"
)
conf 配置檔案
# conf.settings
db_path = r"d:\上海python全棧4期\day19\db\高根db.txt"
log_path = r"d:\上海python全棧4期\day19\log\log.txt"
bin執行檔案
# 執行檔案
# bin.start.py
import sys,os
# __file__ 得到的是當前檔案的完整路徑
#print(__file__)
# dirname 得到乙個路徑的所在目錄
#print(os.path.dirname(__file__))
# 我們要的是day19 所以再取一次
#print(os.path.dirname(os.path.dirname(__file__)))
# 專案的根目錄
base_dir = os.path.dirname(os.path.dirname(__file__)
)# 將得到的結果 新增到環境變數中
# 匯入atm
import core.atm
# 執行啟動函式
core.atm.run(
)
開發規範(一)目錄規範
為提高團隊協作效率,規範檔案管理,方便專案後期維護,提高 質量,特制訂此文件,前端開發人員必須遵照本規範進行前台頁面開發。root member 業務模組名 conf controller 存放控制器 veiw 存放頁面 basic pc終端 mobile 手機終端 index 控制器名 index...
軟體開發目錄規範
為了提高程式的可讀性與可維護性,我們應該為軟體設計良好的目錄結構,這與規範的編碼風格同等重要,簡而言之就是把軟體 分檔案目錄。假設你要寫乙個atm軟體,你可以按照下面的目錄結構管理你的軟體 atm core src.py 業務核心邏輯 api api.py 介面檔案 db db handle.py ...
軟體開發目錄規範
為了提高程式的可讀性與可維護性,我們應該為軟體設計良好的目錄結構,這與規範的編碼風格同等重要。軟體的目錄規範並無硬性標準,只要清晰可讀即可,假設你的軟體名為foo,筆者推薦目錄結構如下 foo core 存放業務邏輯相關 core.py api 存放介面檔案,介面主要用於為業務邏輯提供資料操作。ap...