有什么方法可以让 python 文件名不以完全限定名称结尾吗?

2024-01-14

假设我们有这样的文件结构:

project/
- ticklers/
  - kitten_tickler.py
    - class KittenTickler
  - puppy_tickler.py
    - class PuppyTickler

假设 KittenTickler 具有足够的复杂性,不想与 PuppyTickler 共享其文件。定义的类的完全限定名称变为project.ticklers.kitten_tickler.KittenTickler and project.ticklers.puppy_tickler.PuppyTickler。显然,这是多余的。它与将多个类填充到一个文件中的常见 Python 策略配合得很好,但它不适合我的项目。有没有办法“跳过”模块链中的文件名,聚合puppy_tickler and kitten_tickler内容进入ticklers模块?最终,我感兴趣的是project.ticklers.PuppyTickler and project.ticklers.KittenTickler.

我尝试将其放入project/ticklers/__init__.py:

from .kitten_tickler import KittenTickler
from .puppy_tickler import PuppyTickler

这导致他们被无障碍在两个包中,但是KittenTickler.__module__最终仍然是project.ticklers.kitten_tickler(而我希望它是project.ticklers)。另外,如果我这样做

from project.ticklers import KittenTickler

我也会不经意间导入PuppyTickler以及。所以我对这种方法不太满意。最后,它不太可维护。

我在这里打的是一场失败的战斗,还是有办法让我满意地宣布这些课程?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有什么方法可以让 python 文件名不以完全限定名称结尾吗? 的相关文章

随机推荐