Python引入包錯誤:AttributeError: module 'w6.pack.sub2' has no attribute 's2'

一、環境

在使用python引入自定義包的時候,如果自定義包的層級大於1級,並且引入時採用*的形式會出現此問題
目錄結構如下圖
在這裏插入圖片描述

from w6.pack import *  #引入pack包

二、解決辦法

在pack包下的__init__.py文件輸入

__all__ = ['p1','sub1','sub2'] 

在sub1文件夾下的__init__.py文件輸入

__all__ = ['s1']
from . import s1  

在sub2文件夾下的__init__.py文件輸入

__all__ = ['s2']
from . import s2

三、總結

在sub1和sub2文件夾下的__init__.py文件中添加

from . import [文件名] 

解決報錯問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章