从__future__导入absolute_import无法正常工作?子模块不可见

时间:2015-04-22 23:56:06

标签: python import

所以我在主范围内有一个模块bbb以及ccc

我正在添加一个名为tools的库,该库还有2个名为bbbccc的模块:

  

工具

     
      
  • __init__.py
  •   
  • aaa.py
  •   
  • bbb.py
  •   
  • ccc.py
  •   

bbb.py中,我用:

导入主范围bbb
from __future__ import absolute_import
import bbb

并在ccc.py做同样的事情:

from __future__ import absolute_import
import ccc

但是当我导入工具和dir时,我只能看到:

['__builtins__', '__doc__', '__file__',
'__name__', '__package__', '__path__', 'aaa']

bbbccc似乎不可见。

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:4)

  

但是当我导入工具和dir时,我只能看到:

['__builtins__', '__doc__', '__file__',
'__name__', '__package__', '__path__', 'aaa']
     

bbbccc似乎不可见。

导入包不会自动加载其所有子模块。如果您想使用tools.bbb包,则需要执行

import tools.bbb
# or
from tools import bbb

import tools不会削减它。或者,您可以让tools在其__init__.py

中明确加载其子模块
# in __init__.py
from . import aaa, bbb, ccc