从文件夹导入python模块时出错

时间:2017-11-04 11:05:15

标签: python python-2.7 packages

我有以下目录结构:

source
       source_1.py
       __init__.py

source1.py具有类源定义

source1.py

class Source(object):
    pass

我可以使用此

导入
>>> from source.source1 import Source
>>> Source
<class 'source.source1.Source'>

但是,当尝试使用以下方法导入时,它会失败。

>>> from source import *
>>> source1.Source
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'source1' is not defined

请告诉我们如何使用第二次导入?

1 个答案:

答案 0 :(得分:0)

要从包导入(与从模块导入不同),您需要指定*的含义。为此,请在__init__.py中添加如下所示的行:

__all__ = ["source1"]

请参阅Importing * From a Package的Python文档。