保存Python工具(如类和函数)存储库的正确方法是什么?

2024-10-03 00:23:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个tools目录,我想在其中存储一些可供将来使用的Python工具

例如:

tools/
- __init__.py  # empty
- tool1/
--- tool_1.py  # has implementation of ToolClass1
- tool2/
--- tool_2.py
# ...etc

我想轻松地将工具导入到我的项目中,因此我将tools文件夹添加到了PYTHONPATH。我的问题是,现在导入工具变得相当复杂:

from tools.tool_1 import ToolClass1

# whereas I would prefer using something like

import ToolClass1
# or
from tools import ToolClass1

这样做的正确方式是什么?我读了modules页,但没有找到直接的解决办法

另外,当添加更多工具时(除非必要),我不希望将目录结构扁平化以获得某种顺序


Tags: 工具offrompyimport目录inittool
2条回答

PYTHONPATH上的文件夹应该包含模块,但您的tools文件夹模块(因为它包含__init__.py)。因此,您不能从tools导入任何内容,因为它未被识别为模块。把tools所在的文件夹放到PYTHONPATH中,你会更开心

您可以在__init__.py文件中添加特定于类的导入:

from .tool1.tool_1.py import ToolClass1
from .tool2.tool_2.py import ToolClass2

这将允许您执行导入操作,如

from tools import ToolClass1

相关问题 更多 >