子模块的python绝对导入失败

介子

我看过其他帖子,但找不到有效的答案!

档案结构

my_package/
      __init__.py -- empty
      test/
              __init__.py -- empty
              test1.py 

失败

from my_package import test
test.test1

AttributeError: 'module' object has no attribute test

跟随通行证

from my_package.test import test1

# or
import my_package.test.test1
from my_package import test
# now this works
test.tes1

<module 'my_package.test.test1' from ...

我有

 from __future__ import absolute_import 

在所有文件中,并使用python2.7

好妈妈

导入包(如test)时,test1不会自动导入模块(如)(除非您在中放入了一些特殊的代码__init__.py)。这与导入模块不同,在模块名称空间中,模块的内容可用。与Python标准库的xml.etree.ElementTree模块进行比较

>>> import xml
>>> xml.etree
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'etree'
>>> from xml import etree
>>> etree.ElementTree
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'ElementTree'
>>> from xml.etree import ElementTree
>>> ElementTree.ElementTree
<class 'xml.etree.ElementTree.ElementTree'>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章