python软件目录规范
Posted pathping
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python软件目录规范相关的知识,希望对你有一定的参考价值。
软件目录结构规范
软件开发规范
一、为什么要设计好目录结构?
1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。
2.可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。
二、目录组织方式
关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结构。
假设你的项目名为my_project
my_project/ |-- bin/ 存放项目的一些可执行文件,当然你可以起名script/之类的也行,但bin/更直观。易懂 | |-- __init__ | |-- start.py 写启动程序 | |-- core/ 存放项目的所有源代码(核心代码)。(1) 源代码中的所有模块、包都应该放在此目录。不要置于顶层目录。 (2) 其子目录tests/存放单元测试代码; (3) 程序的入口最好命名为main.py。 | |-- tests/ | | |-- __init__.py | | |-- test.main.py | | | |-- __init__.py | |-- test_main.py| 存放核心逻辑 | |-- conf/ 配置文件 | |-- __init__.py | |-- setting.py 写上相关配置 | |---db/ 数据库文件 | |--db.json 写数据库文件 | |-- docs/ 存放一些文档 | |-- lib/ 库文件,放自定义模块和包 | |-- __init__.py | |-- common.py 放常用的功能 | |-- log/ 日志文件 | |-- access.log 写上日志 | |-- __init__.py |-- README 项目说明文件
|-- requirements.txt
注:运行程序时,在bin目录下执行start.py代码,不可以直接执行core下的模块。
项目目录
- bin # 程序入口文件
- core # 主程序目录(核心代码)
- conf # 配置文件,主要用于留出接口,别人来使用时,方便配置
- db # 数据库
- lib # 公共类库目录,方便其它模块调用的类(通用模块,和当前项目的相关性不大(低耦合))
- log # 日志文件
项目文件
- requirements.txt : 存放软件依赖的外部 Python 包列表
- README.md : 项目说明文件。
关于README的内容
这个我觉得是每个项目都应该有的一个文件,目的是能简要描述该项目的信息,让读者快速了解这个项目。
它需要说明以下几个事项:
- 软件定位,软件的基本功能。
- 运行代码的方法: 安装环境、启动命令等。
- 简要的使用说明。
- 代码目录结构说明,更详细点可以说明软件的基本原理。
- 常见问题说明。
以上是关于python软件目录规范的主要内容,如果未能解决你的问题,请参考以下文章