【问题标题】:Error when importing python module from folders从文件夹导入 python 模块时出错
【发布时间】:2017-11-04 19:16:00
【问题描述】:

我有以下目录结构:

source
       source_1.py
       __init__.py

source1.py 定义了类 Source

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

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

【问题讨论】:

    标签: python python-2.7 packages


    【解决方案1】:

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

    __all__ = ["source1"]
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-26
      • 2019-05-19
      • 2013-03-25
      • 1970-01-01
      • 2012-02-09
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多