将项目拆分为模块的Pythonic方法?

时间:2019-02-11 00:05:55

标签: python

说,有一个模块a,除其他外,它公开了一些子模块a.b。 在AFAICS中,希望以一种方式维护模块:一种类型import aimport 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,以为肯定是错误的...

那我如何保持我的命名空间整洁?

1 个答案:

答案 0 :(得分:1)

您可以将代码放入__init__.py中。一个小的子包没有错。如果代码变大,通常有一个具有重复名称的子模块,例如a/a.py,然后在__init__.py内使用from .a import *导入它。