下圖是一個帶被引入使用的包的結構,包名比較長,給書寫from*import*帶來很多麻煩
為了解決麻煩,在__init__.py編寫了如下內容
1 from .httputil import HTTPUtil 2 from .jsonutil import JSONUtil 3 from .redisutil import RedisUtil 4 from .time import TimeUtil 5 from .randomutil import myrandom 6 7 __all__=["HTTPUtil","JSONUtil","RedisUtil","TimeUtil","myrandom"]
該包被安裝后,就可以使用如下的引入方式,來使用包內部的函數或方法
1 from ifacetools import myrandom,TimeUtil 2 3 print(myrandom.uuidWithHyphen()) 4 tu=TimeUtil.TimeUtil() 5 print(tu.getTargetDays(-1,"%Y-%m-%d"))
如果沒有在__init__.py(在ifacetools包下)中編寫上面的內容
那么就必須如下使用了。會比較麻煩,如果需要引入的module有很多,那么就會對閱讀編寫帶來困擾。
from ifacetools.randomutil import myrandom from ifacetools.time import TimeUtil print(myrandom.uuidWithHyphen()) tu=TimeUtil.TimeUtil() print(tu.getTargetDays(-1,"%Y-%m-%d"))