说,有一个模块a
,除其他外,它公开了一些子模块a.b
。
在AFAICS中,希望以一种方式维护模块:一种类型import a
,import a.b
,然后以下列方式调用特定于b
的某些内容:a.b.b_specific_function()
或{{ 1}}。
我想问的问题是如何达到这种效果?
其中有目录 a.a_specific_function()
,其中有源代码文件a
。似乎是合乎逻辑的选择,认为它看起来像a.py
,而不是import a.a
。我看到的唯一方法是将import a
的代码放入a.py
目录中的__init__.py
,以为肯定是错误的...
那我如何保持我的命名空间整洁?
答案 0 :(得分:1)
您可以将代码放入__init__.py
中。一个小的子包没有错。如果代码变大,通常有一个具有重复名称的子模块,例如a/a.py
,然后在__init__.py
内使用from .a import *
导入它。