python包导入的问题

平时用到os.path.join()这个函数时,只要在文件头那import os就行了,而不是import os.path,那为啥自定义的包时又不能这样呢?比如pkg1包下面有个pkg2的包,pkg2下面有个模块module1,在其他模块中使用module1时,就要import pkg1.pkg2.module1来完整导入,而不能只是import pkg1,这是为什么?

千万里不及你
浏览 424回答 3
3回答

收到一只叮咚

python是把名字倒入当前名字空间,你导入pkg2你就的从pkg2开始引用。类似pkg2.pkg1.module这样的,要短一点就from pkg2 import pkg1.module 或者  from pkg2.pkg1 import module
打开App,查看更多内容
随时随地看视频慕课网APP