Python 3基础教程20-Python中导入模块和包
本文介绍Python中导入模块和包
1 #目录: 2 # 导入模块和包--- 3 # | 4 # 上级包、上级模块、导入模块和包的init模块----- 5 # | 6 # 同级包、同级模块、上级包的init模块、test模块-------- 7 # | 8 # 下级包、下级模块、同级包的init模块----- 9 # | 10 #最下级模块、下级包的init模块 11 12 #以test模块为执行模块导入相应的模块 13 #导入同级模块 14 import 同级模块#直接导入单个模块并执行该模块 15 print(同级模块.name)#打印模块中的name属性 16 print('*'*30) 17 18 #导入下级模块 19 # import 下级模块 #不能直接导入同级包下面的模块No module named '下级模块' 20 # print(下级模块.name)#打印模块中的name属性 21 #修改方法: 22 import 同级包.下级模块#导入同级包的下级模块,执行包的__init__模块和导入的模块 23 print(同级包.下级模块.name)#打印该模块的name属性 24 print('*'*30) 25 26 #导入下下级模块 27 # import 下级包.最下级模块#No module named '下级包' 28 # print(下级包.最下级模块.name) 29 # import 同级包.最下级模块#No module named '同级包.最下级模块' 30 # print(同级包.最级模块.name) 31 #修改: 32 import 同级包.下级包.最下级模块 33 print(同级包.下级包.最下级模块.name) 34 print('*'*30) 35 36 #导入上级模块 37 # import 上级模块#不能直接导入同级包上面的模块No module named '上级模块'’ 38 # print(下级模块.name)#打印模块中的name属性 39 #修改方法 40 import 导入模块和包.上级模块#导入再上级包下的上级模块,执行包的__init__模块和导入的模块 41 print(导入模块和包.上级模块.name) 42 ---------------------------------------------- 43 执行同级模块 44 同级模块 45 ****************************** 46 同级包的init模块 47 执行下级模块 48 下级模块 49 ****************************** 50 下级包的init模块 51 执行最下级模块 52 最下级模块 53 ****************************** 54 导入模块和包 55 执行上级模块 56 上级模块 57 58 导入模块
导入包:
1 #导入包 2 import 同级包 #导入同级包直接导入 3 4 # print(同级包.下级模块.name)#module '同级包' has no attribute '下级模块' 5 # 修改:若要使用包下的某个模块,可以在对应init模块中导入相应的模块 6 7 # import 上级包#No module named '上级包' 8 # import 下级包No module named '下级包' 9 #为什么找不到对应的包:因为是在内置模块和sys.path中找,在对应的路径中并没有这个包 10 # 解决: 11 import sys 12 print(sys.path) 13 sys.path.append('E:\\python_work\\导入模块和包') 14 sys.path.append(r'E:\python_work\导入模块和包\上级包\同级包') 15 import 上级包 16 import 下级包 17 18 19 import 导入模块和包 20 ---------------------------------------------------------- 21 同级包的init模块 22 ['E:\\python_work\\导入模块和包\\上级包', 'E:\\python_work', 'E:\\python3.6.4\\python36.zip', 'E:\\python3.6.4\\DLLs', 'E:\\python3.6.4\\lib', 'E:\\python3.6.4', 'C:\\Users\\11373\\AppData\\Roaming\\Python\\Python36\\site-packages', 'E:\\python3.6.4\\lib\\site-packages', 'E:\\python3.6.4\\lib\\site-packages\\requests-2.18.4-py3.6.egg', 'E:\\python3.6.4\\lib\\site-packages\\pymongo-3.6.1-py3.6-win32.egg', 'E:\\python3.6.4\\lib\\site-packages\\easygui-0.98.1-py3.6.egg', 'E:\\python3.6.4\\lib\\site-packages\\jedi-0.12.0-py3.6.egg', 'E:\\python3.6.4\\lib\\site-packages\\parso-0.2.0-py3.6.egg', 'E:\\pycharm\\PyCharm 2017.3.3\\helpers\\pycharm_matplotlib_backend'] 23 上级包的init模块 24 下级包的init模块 25 导入模块和包 26 27 导入包