一个myUtils包,对外界只是暴露utils1模块,即可直接根据包名使用,init.py的作用就是指定暴露哪些模块。
utils1.py
def utils1():
print("---utils1---")
utils2.py
def utils2():
print("---utils2---")
init.py
# 对外界暴露可以使用的本包中的模块,只暴露了utils1,没有暴露utils2,外界是无法使用的
from . import utils1
test.py
import myUtils
myUtils.utils1.utils1()
# myUtils.utils2,这是找不到的,因为没有暴露utils2
# 但是以下直接导入模块而不是导入包的话,是可以使用的,即使没有暴露
'''
from myUtils import utils1
from myUtils import utils2
utils1.utils1()
utils2.utils2()
'''