1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪一个,测试目录在哪儿,配置文件在哪儿等等。从而很是快速的了解这个项目。数据库
2.可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪一个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增长,项目结构不会混乱,仍然可以组织良好。json
关于如何组织一个较好的Python工程目录结构,已经有一些获得了共识的目录结构。单元测试
假设你的项目名为ATM测试
ATM/ |-- bin/ | |-- __init__
| |-- start.py | |-- core/
| |-- 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
bin/
: 存放项目的一些可执行文件,固然你能够起名script/
之类的也行,但bin/更直观。易懂core/
: 存放项目的全部源代码。(1) 源代码中的全部模块、包都应该放在此目录。不要置于顶层目录。 (2) 其子目录tests/
存放单元测试代码; (3) 程序的入口最好命名为main.py
。docs/
: 存放一些文档。README
: 项目说明文件。注:运行程序时,在bin目录下执行start.py代码,不能够直接执行core下的模块。spa