当前位置:首页>python>Python项目结构怎么组织?按这个模板来,维护起来超轻松

Python项目结构怎么组织?按这个模板来,维护起来超轻松

  • 2026-10-11 06:38:55
Python项目结构怎么组织?按这个模板来,维护起来超轻松

很多人刚学Python的时候,把代码全扔在一个文件里。项目大了,自己都找不到变量在哪。

一个合适的项目结构就像给工具箱分格子。螺丝刀放一个格子,扳手放一个格子。要用的时候伸手就能拿到。

我用了几年Python,踩过不少坑。下面这个模板是我觉得最省心的。

基础结构长这样

假设你的项目叫 my_project。

最外面是项目文件夹。里面放这些:
my_project/
 ├── my_package/    (你的代码包)
 ├── tests/          (测试文件夹)
 ├── config.py       (配置文件)
 ├── requirements.txt(依赖列表)
 ├── setup.py        (安装脚本,如果你要发布)
 └── README.md        (项目说明书)

这个布局简单直接。你要改什么,一眼就知道去哪找。

代码包 my_package 怎么分

这是核心。别把所有Python文件平摊在包里。

一个典型的包内目录是:
my_package/
 ├── __init__.py(包入口,空文件也行)
 ├── models.py(数据模型)
 ├── utils.py(小工具函数)
 ├── api.py(对外接口,比如网络请求)
 └── exceptions.py(自定义错误)

如果你的项目逻辑更复杂,就再加子包。比如 my_package/services/ 放业务逻辑,my_package/database/ 放数据库操作。

每个子包里也要有一个 __init__.py 文件,哪怕它是空的。

测试和配置文件别乱放

tests/ 文件夹要对应你的包结构。

比如你在 my_package/models.py 里写了一个 User 类。那你就在 tests/test_models.py 里写测试。文件名前面加 test_,Python的 unittest 框架会自动找到。

config.py 放那些经常要改的东西。数据库地址,API密钥,日志级别。不要硬编码在代码里。

requirements.txt 是给别人用的。别人拿到项目,运行 pip install -r requirements.txt 就能装好所有依赖。

实际写代码时要注意的事

每个文件夹要加 __init__.py 文件。没有这个,Python不认为那是包。

模块内部导入路径要写清楚。比如在 my_package/services/user_service.py 里想要用 my_package/models.py 里的东西,就写 from my_package.models import User。不要用相对路径 from ..models import User,那样容易搞乱。

一个文件只做一类事情。数据库操作放在 database 文件夹,业务逻辑放 services,界面展示放 views。互不干扰。

常量单独放一个文件。比如 constants.py。把所有固定值写进去。以后要改价格、换API地址,只改这一个地方。

什么时候用这个模板

项目超过两个文件就值得用。哪怕是个小工具,按这个架子搭,后续加功能不会一团乱麻。

我见过有人为了省事,所有代码塞一个文件,最后3000行。找bug就像在一堆乱绳里找线头。回头自己都不想维护。

按这个模板搭好骨架之后,你可以随意调整。加模块删模块都不用怕。改一个地方,影响范围很清楚。

养成习惯,每次新建项目就拷贝这个结构。一年后你会感谢现在的自己。

最新文章

随机文章