【问题标题】:How can I properly load a Python class in my project?如何在我的项目中正确加载 Python 类?
【发布时间】:2025-12-07 20:45:02
【问题描述】:

我的旧结构是:

在一个文件中,我正在做:

from CodeModel import CodeModel

codemodel = CodeModel.CodeModel()

但这似乎是多余的。有没有更简洁的方法来导入CodeModel 而不必做CodeModel.CodeModel()

【问题讨论】:

  • from CodeModel.CodeModel import CodeModel ;-)
  • 或将from .CodeModel import CodeModel 放入您的__init__.py。然后包外的from CodeModel import CodeModel 将导入该类。 (你可能应该给包、模块和类起不同的名字,否则很快就会变得很混乱)
  • 你能把这个作为答案,我会接受吗?
  • 为什么CodeModel.py 甚至在一个名为CodeModel 的包中?里面似乎没有别的东西。只需删除该包。
  • 我不确定你的意思@mkrieger1。我想创建一个名为 CodeModel 的类

标签: python


【解决方案1】:
from CodeModel.CodeModel import CodeModel

但你应该考虑不同的包和模块结构,因为它可能确实是多余的。

如果您有多个(但不是真正很多)模型,请考虑使用 CodeModel 和其他模型类创建 modules.py。尽可能简化事情(充分考虑项目的规模)。

from models import CodeModel

看起来更好,不是吗?

另一种选择是

from .CodeModel import CodeModel

在 CodeModel 包的 __init__.py 内,Patrick Haugh 的评论中已经提到。

【讨论】:

    最近更新 更多