-
为什么要规范开发:
- 全写在一个py文件中,文件加载慢,代码可读性差,查询麻烦
- 所以要将一个py文件分开,合理的分成多个py文件
-
程序配置:
- 统一相同的变量.比如模拟博客园登陆中多次使用的文件路径.为了好修改这个文件路径,可以在文件的最上方写一个变量指向这个路径,代码中直接引用这个变量.修改时只需修改这个变量.
-
文件划分:
-
setting.py
配置文件,用于放置一些项目中需要的静态参数,比如文件路径,数据库配置,软件的默认设置等等.比如上面所说的文件路径.
-
common.py
公共组件文件,用于放置一些常用的公共组件函数,并不是核心逻辑的函数,而更像是服务于整个程序中的公用的插件,程序中需要即调用.比如装饰器,密码加密功能,序列化功能,日志功能等.
-
src.py
核心文件,主要存放的就是核心逻辑功能.
-
start.py
项目启动文件,目的是显眼,方便开启
-
类似register文件
文件名不固定,存储数据的文件,类似于文本数据库,项目中有时会遇到将一些数据存储在文件中,与程序交互的情况,所以要单独设置在这样的文件.
-
log文件
存储log日志的文件
-
-
划分具体目录
blog |__bin | |__start.py | |__conf | |__settings.py | |__core | |__src.py | |__db | |__register | |__lib | |__commmon.py | |__log | |__access.log |__README
-
按照项目目录结构,规范模拟博客园登陆
-
配置start.py
import sys import os # print(os.path.dirname(__file__)) # 获取本文件所在文件夹即bin的绝对路径 # print(os.path.dirname(os.path.dirname(__file__))) # 获取本文件所在文件夹bin所在的文件夹blog的绝对路径 BATH_DIR = os.path.dirname(os.path.dirname(__file__)) sys.path.append(BATH_DIR) from core.src import run if __name__ == '__main__': run() # 或 # from core import src # if __name__ == '__main__': # src.run()
-
配置settings.py文件
# 配置静态文件,不会轻易改变 import os print(os.path.dirname(os.path.dirname(__file__))) # 获取当前文件所在的目录的上级目录,即blog print(os.path.join(os.path.dirname(os.path.dirname(__file__)), r'db egister')) file_name = os.path.join(os.path.dirname(os.path.dirname(__file__)), r'db egister') # 拼接出register的路径
-
配置common.py文件
from core import src # 用src.status_dic来引用src中的status_dic # 在启动strat.py时,已经把blog的路径添加到sys.path中了,意味着,在整个项目中的任何py文件,都可以引用到blog项目目录下面的任何目录:bin,conf,core,db,lib,log这几个,所以此处可以直接引用src
-
配置src.py文件
from conf import settings from lib import common # 用settings.file_name引用settings中的file_name # 用common.wrapper引用common中的装饰器
-
README
- 软件定位,软件的基本功能
- 运行代码的方法: 安装环境,启动命令等
- 简要的使用说明
- 代码目录结构说明,更详细点可以说明软件的基本原理
- 常见问题说明
-