本文介绍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 导入包