python目录结构
my_project/ # 项目根目录
├── my_project/ # 主源码包(和项目同名)
│ ├── init.py # 标识这是一个 Python 包
│ ├── main.py # 项目入口文件(启动程序)
│ ├── config.py # 配置文件(数据库、路径、参数)
│ ├── core/ # 核心业务逻辑
│ │ ├── init.py
│ │ └── service.py # 核心服务、功能函数
│ ├── utils/ # 工具类、通用方法
│ │ ├── init.py
│ │ └── common.py # 日志、时间、字符串处理等
│ ├── api/ # 接口层(Flask/FastAPI/Django)
│ │ ├── init.py
│ │ └── routes.py # 路由、接口定义
│ └── models/ # 数据模型
│ ├── init.py
│ └── entity.py # 数据库模型/数据结构
├── tests/ # 单元测试、集成测试
│ ├── init.py
│ └── test_core.py
├── docs/ # 项目文档
├── data/ # 数据文件
│ ├── raw/ # 原始数据
│ └── processed/ # 处理后的数据
├── logs/ # 日志文件
├── requirements.txt # 项目依赖包列表
├── README.md # 项目说明
├── .gitignore # Git 忽略文件
└── run.py # 项目启动脚本(可选)
- 根目录 my_project/
整个项目的最外层,放所有内容。
- 源码包 my_project/ (和项目同名)
放所有核心代码,是项目的主体。
-
init.py
只要文件夹里有这个文件,Python 就把它当成包,可以被导入。 -
main.py
项目入口,运行 python main.py 启动程序。 -
config.py
存放所有配置:数据库地址、端口、密钥、路径、开关等。
子目录
-
core/
核心业务逻辑,项目最重要的功能代码。 -
utils/
通用工具函数,比如日志、加密、文件处理、时间转换,全项目复用。 -
api/
接口代码,路由、请求处理、返回值。 -
models/
数据模型,对应数据库表、类结构。
- tests/
测试代码,单元测试、接口测试,不和业务代码混在一起。
- data/
存放项目用到的数据文件:
-
raw/ :原始数据(未处理)
-
processed/ :清洗、处理后的数据
- logs/
程序运行产生的日志文件。
- docs/
项目文档、接口文档、设计文档。
- requirements.txt
项目所有依赖包,别人拿到项目直接:
- README.md
项目介绍:干什么的、怎么安装、怎么运行、作者、版本。
- .gitignore
告诉 Git 不要上传的文件:虚拟环境、缓存、日志、配置密钥等。
- run.py (可选)
专门用来启动项目的脚本,更规范。
更多推荐


所有评论(0)