您的位置:首页 > 编程语言 > Python开发

让你Python程序软件目录更规范化

2017-03-22 00:00 218 查看
为了什么:

说明: 设计目录结构和代码编码风格一样属于个人风格问题,但是规范化能更好的控制程序结构,让程序具有更高的可读性,对于如何组织一个较好的目录结构,在Stackoverflow中几乎达成共识.

目录结构:

说明: 假设你的项目名为app,我比较建议的最方便最快捷的目录结构,如下这样就足够

1
2
3
4
5
6
7
8
9
10
11
12
13
14
.

├── app

│   ├── __init__.py

│   ├── main.py

│   └── tests

│       └── __init__.py

├── bin

├── ChangeLog.txt

├── docs

│   └── conf.py

├── LICENSE.txt

├── README

├── requirements.txt

└── setup.py

bin存放项目中可执行文件
app存放项目的所有源代码
app/tests存放运行单元测试代码
doc存放一些文档
setup.py安装, 部署, 打包的脚本
requirements.txt存放软件依赖第三方包,可使用pigar自动检测生成
README项目说明文件
LICENSE.txt开源项目协议
ChangeLog.txt更新修复记录
具体细节:

1. README是每个项目必须应该有的文件,目的是为了让读者快速了解这个项目,应该包括软件定位,基本功能,运行方法,使用说明,目录说明,常见问题等,具体可以参考redis的README文件

2. setup.py用来管理代码的打包,安装,部署,业界标准是使用setuptools管理这些事情,主要目的是为了能够快速便捷的在一台新的机器上将环境装好,代码部署好和程序运行起来,新环境缺少依赖包无法启动问题屡见不鲜,setup.py就可以将这些事情自动化起来,提高效率,减少出错率,复杂的东西自动化,能自动化的东西一定要自动化是一个非常好的习惯

3. requirements.txt方便开发者维护软件的包依赖,将开发过程中新增的包添加进这个列表避免setup.py安装依赖时漏掉,如果手动安装的话pip -r requirements.txt即可快速恢复项目运行环境

4. 如上的conf.py并没有放在源代码目录下,而是放在docs下,强烈不推荐大家把配置写死通过全局import conf导入,这样会使得模块依赖了外部配置单元测试变的困难,程序组件可复用太差,所以更好的方式应该在docs下给一个默认配置,通过main.py启动参数指定一个配置路径来读取配置内容

登录乐搏学院官网http://www.learnbo.com/

或关注我们的官方微博微信,还有更多惊喜哦~



本文出自 “满满李 - 运维开发之路” 博客,请务必保留此出处http://xmdevops.blog.51cto.com/11144840/1856770
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: