我正在开发一个 Python 项目,我的 corerec.engines 目录中有一个文件夹 (unionizedFilterEngine),其中包含一个类 (unionizedFilterEngine)。我想以这样的方式导入该类,以便可以将其与更简单的别名一起使用,例如 corerec.UF_Engine,而不是完整路径 corerec.engines.unionizedFilterEngine。
这是我项目的当前结构:
corerec/
├── init.py
├── 发动机/
│ ├── init.py
│ ├── unionizedFilterEngine/
│ │ ├── init.py
│ │ ├── filterEngine.py # 包含类
unionizedFilterEngine
当前代码示例:
filterEngine.py:
unionizedFilterEngine 类: def init(自身): print("Unionized Filter Engine 已初始化!")
def context(self):
return "Context method called!"
我想将 unionizedFilterEngine 文件夹/模块别名为 UF_Engine,以便我可以像这样导入它:
导入 corerec.UF_Engine
然后像这样使用它:
UF_Engine.context()
我已经尝试设置 init.py 文件,但仍然无法使其工作。谁能帮我弄清楚如何正确地为文件夹/模块添加别名?
标签:python、导入、别名、模块、类
我尝试在 corerec.engine 中定义 UF_Egnie 别名,之前也在 corerec 的 init 中定义,但它不起作用...
我期待: corerec.UF_Engnie
比我可以使用之后: 导入 corerec.UF_Engnie 作为 uf uf.blahblah()
要实现您想要的别名,您可以修改项目中的
__init__.py
文件来创建所需的别名。具体方法如下:
corerec/engines/unionizedFilterEngine/init.py:
from .filterEngine import unionizedFilterEngine
corerec/engines/init.py:
from .unionizedFilterEngine import unionizedFilterEngine as UF_Engine
corerec/init.py:
from .engines import UF_Engine
通过这些更改,您应该能够使用别名
unionizedFilterEngine
导入 corerec.UF_Engine
类,如下所示:
import corerec.UF_Engine
engine = corerec.UF_Engine()
print(engine.context())
此设置确保可以通过别名
unionizedFilterEngine
访问 corerec.UF_Engine
类,从而使您的导入更清晰、更直观。