假设我们有这样的文件结构:
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(使用前将#替换为@)