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 # 项目启动脚本(可选)

  1. 根目录  my_project/

整个项目的最外层,放所有内容。

  1. 源码包  my_project/ (和项目同名)

放所有核心代码,是项目的主体。

  • init.py 
    只要文件夹里有这个文件,Python 就把它当成包,可以被导入。

  • main.py 
    项目入口,运行  python main.py  启动程序。

  • config.py 
    存放所有配置:数据库地址、端口、密钥、路径、开关等。

子目录

  • core/ 
    核心业务逻辑,项目最重要的功能代码。

  • utils/ 
    通用工具函数,比如日志、加密、文件处理、时间转换,全项目复用。

  • api/ 
    接口代码,路由、请求处理、返回值。

  • models/ 
    数据模型,对应数据库表、类结构。

  1. tests/

测试代码,单元测试、接口测试,不和业务代码混在一起。

  1. data/

存放项目用到的数据文件:

  • raw/ :原始数据(未处理)

  • processed/ :清洗、处理后的数据

  1. logs/

程序运行产生的日志文件。

  1. docs/

项目文档、接口文档、设计文档。

  1. requirements.txt

项目所有依赖包,别人拿到项目直接:

  1. README.md

项目介绍:干什么的、怎么安装、怎么运行、作者、版本。

  1. .gitignore

告诉 Git 不要上传的文件:虚拟环境、缓存、日志、配置密钥等。

  1. run.py (可选)

专门用来启动项目的脚本,更规范。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐