Python的软件开发目录规范
2021-02-17 06:20
标签:bsp 指令 gis pycha erro span int auth 文件的 软件开发的目录规范: 为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要。软件的目录规范并无硬性标准,只要清晰可读即可,假设你的软件名为foo,笔者推荐目录结构如下 解释一下: ? • core/: 存放业务逻辑相关代码 ? • api/: 存放接口文件,接口主要用于为业务逻辑提供数据操作。 ? • db/: 存放操作数据库相关文件,主要用于与数据库交互 ? • lib/: 存放程序中常用的自定义模块 ? • conf/: 存放配置文件 ? • run.py: 程序的启动文件,一般放在项目的根目录下,因为在运行时会默认将运行文件所在的文件夹作为sys.path的第一个路径,这样就省去了处理环境变量的步骤 ? • setup.py: 安装、部署、打包的脚本。 ? • requirements.txt: 存放软件依赖的外部Python包列表。 ? • README: 项目说明文件。 除此之外,有一些方案给出了更加多的内容,比如LICENSE.txt,ChangeLog.txt文件等,主要是在项目需要开源时才会用到,请读者自行查阅。 关于README的内容,这个应该是每个项目都应该有的一个文件,目的是能简要描述该项目的信息,让读者快速了解这个项目。它需要说明以下几个事项: 举例说明:数据准备如下
Python的软件开发目录规范 标签:bsp 指令 gis pycha erro span int auth 文件的 原文地址:https://www.cnblogs.com/liunaixu/p/12699616.htmlFoo/
|-- core/
| |-- core.py
|
|-- api/
| |-- api.py
|
|-- db/
| |-- db_handle.py
|
|-- lib/
| |-- common.py
|
|-- conf/
| |-- settings.py
|
|-- run.py
|-- setup.py
|-- requirements.txt
|-- README
1、软件定位,软件的基本功能;
2、运行代码的方法: 安装环境、启动命令等;
3、简要的使用说明;
4、代码目录结构说明,更详细点可以说明软件的基本原理;
5、常见问题说明。
# src.py存放源码
# encoding=utf-8
# auther:lsj
def exit():
print("退出功能")
def login():
print("登录功能")
def register():
print(‘注册功能‘)
def witdraw():
print(‘体现功能‘)
def transfer():
print("转账功能")
func_dic={
‘0‘:[‘退出‘,exit],
‘1‘:[‘登录‘,login],
‘2‘:[‘注册‘,register],
‘3‘:[‘体现‘,witdraw],
‘4‘:[‘转账‘,transfer],
}
def run():
while True:
for k in func_dic:
print(k,func_dic[k][0])
choice = input("请输入指令编号:").strip()
if choice in func_dic:
func_dic[choice][1]()
else:
print("请重新输入")
# run()
# start.py存放执行程序
# encoding=utf-8
# auther:lsj
# 使用相对导入:参照当前所在文件夹
# from ..core.src import run
# run()
# ImportError: attempted relative import with no known parent package
# 执行文件超出了查找范围。
# 应该采用绝对导入-->sys.path-->执行文件
# import sys
# sys.path.append(r‘D:\pycharm\oldboy_29\day021\ATM\core‘)
# import src
# src.run()
# 考虑问题:我们目前把路径写死了
# import sys
# sys.path.append(r‘D:\pycharm\oldboy_29\day021\ATM\core‘)
# sys.path.append(r‘D:\pycharm\oldboy_29\day021\ATM\lib‘)
# sys.path.append(r‘D:\pycharm\oldboy_29\day021\ATM\db‘)
# sys.path.append(r‘D:\pycharm\oldboy_29\day021\ATM\conf‘)
#
# import src
# src.run()
# 查看路径都是重复的,我们进行优化:把环境的顶级目录加入到环境变量
# import sys
# sys.path.append(r‘D:\pycharm\oldboy_29\day021\ATM‘)
# from conf import settings
# from core import src
# from db import db_handle
# from lib import common
# print(settings)
# print(src)
#
# commonpy文件的代码
import time
from conf import settings
def logger(msg):
# 日志记录功能
with open(settings.LOG_PATH,
mode=‘at‘,
encoding=‘utf-8‘
) as f:
f.write(‘%s %s\n‘%(time.strftime(‘%Y-%m-%d %H:%M:%S‘),msg))
# 日志路径不能写死,你要给用户选择自定义的保存位置,去settings里面设置
# settings.py文件
from core import src
# 这里的路径写死了,我们优化一下
# LOG_PATH = r‘D:\pycharm\oldboy_29\day021\ATM\log\user.log‘
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
LOG_PATH = r‘%s/log/user.log‘ %BASE_DIR
上一篇:SpringBoot - 分布式
下一篇:JavaSE面试题:单例设计模式