比如说,有一个模块 a 除了其他的东西,它还暴露了一些子模块 a.b . 在AFAICS中,需要以这样一种方式维护模块,即 import a , import a.b 然后调用一些东西 b -具体如下: a.b.b_specific_function() 或 a.a_specific_function() .
a
a.b
import a
import a.b
b
a.b.b_specific_function()
a.a_specific_function()
我想问的问题是如何达到这种效果? 有 目录 一 还有源代码文件 a.py 里面。似乎是合理的选择 import a.a 那么,而不是 导入A . 我唯一能看到的就是 A.Py 的代码到 __init__.py 在 一 目录,认为这是绝对错误的…
一
a.py
import a.a
导入A
A.Py
__init__.py
那么,如何保持名称空间的清洁呢?
你可以把代码输入 __init__.py . 对于一个小的子包装来说,这没有什么问题。如果代码变大,则通常会有一个子模块具有重复的名称,如 a/a.py 然后在里面 π介子 导入IT from .a import * .
a/a.py
π介子
from .a import *