Python 项目导入结构

问题描述 投票:0回答:1

我目前正在 VSCode 中开发一个 Python 项目,经过几个小时的工作,我想知道如何改进我的导入结构。 目前我有以下结构:

\API
---\__init__.py(空)
---\Bot.py
---\Helper.py
---\NetworkManager.py
---\DatabaseManager.py

Helper.py 充当中央模块,其中包含许多导入,例如 json、datetime 以及其他模块中使用的中央函数和类。 当然,并非 Helper 中的每个函数/类都在其他模块中随处使用。

模块中的导入如下所示:

机器人.py

  • 从助手导入*
  • 从 NetworkManager 导入 *
  • 从数据库管理器导入*

网络管理器.py

  • 从助手导入*

数据库管理器.py

  • 从助手导入*

我知道 import * 不是最佳实践。但因为我小心翼翼地命名函数/类/属性, a)我没有遇到命名空间问题 b) 我可以简单地在需要其中某些元素的地方导入助手,而不必担心选择我真正需要的元素。这使得开发过程中的导入处理变得非常轻松

尽管如此,我感觉这没有吸引力,甚至可能效率低下,当然我想进一步发展我的编程技能,因此问题是: “对于改善进口结构,同时在发展中或多或少保留上述优势b),您有何建议?”

python visual-studio-code python-import project-structure
1个回答
0
投票

我通常会为个人和专业工作开发大量微服务和 API。这是我的首选文件结构。 对于大多数较小的 API 来说,或多或少已经相当高效了。

my_api_project/
├── app/
│   ├── __init__.py
│   ├── main.py 
│   ├── config/
│   ├── api/
│   │   ├── v1/
│   │   │   ├── endpoints/
│   │   │   └── models/
│   │   └── utils/
│   ├── core/
│   │   ├── __init__.py
│   │   ├── security.py 
│   │   ├── auth.py 
│   │   └── database.py 
│   ├── schemas/
│   ├── services/
│   ├── tests/
│   │   └── utils/
└── Dockerfile 
└── docker-compose.yml  
└── requirements.txt 
└── .env   
└── README.md 
└── .gitignore 

© www.soinside.com 2019 - 2024. All rights reserved.