从文件夹导入 python 模块时出错
Error when importing python module from folders
我有以下目录结构:
source
source_1.py
__init__.py
source1.py 已定义 class 来源
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
请告诉我如何使用第二个导入?
对于从包中导入(不同于从模块中导入),您需要指定 *
的含义。为此,在 __init__.py
中添加如下一行:
__all__ = ["source1"]
请参阅 Importing * From a Package 的 Python 文档。
我有以下目录结构:
source
source_1.py
__init__.py
source1.py 已定义 class 来源
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
请告诉我如何使用第二个导入?
对于从包中导入(不同于从模块中导入),您需要指定 *
的含义。为此,在 __init__.py
中添加如下一行:
__all__ = ["source1"]
请参阅 Importing * From a Package 的 Python 文档。