我创建了一个模块,它位于自己的文件夹中,其中包含__init__.py
和四个包含我的类的文件。
在执行from MyPackage import *
时,我正在按照预期在__all__
__init__.py
语句中获取我写入的模块。
执行from MyPackage import ModuleX
时,我可以单独导入任何模块。
在执行import MyPackage
然后说dir(MyPackage)
时,我得到的就是:
['__all__',
'__builtins__',
'__doc__',
'__file__',
'__name__',
'__package__',
'__path__']
我的模块未显示,我也无法使用MyPackage.ModuleX
访问它们。
我在__init__.py
中写的唯一内容是__all__ = [ModuleX]
声明。
为什么最后一个语句看不到我的模块?我是否需要设置更多配置?
答案 0 :(得分:1)
__all__
确定该模块中导出的名称。但是,为了导出它们,您需要首先导入它们,但您还没有。