python 3.x 相对导入和绝对导入

相对导入和绝对导入

相对导入

  • .    (一个点)   :   当前层目录
  • ..   (两个点)   :   上层目录
  • ...  (三个点)   :   上上层目录
  • 依次类推 

 

m3.py

3 # 相对导入
4 from ..m4 import m
5 
6 m = 3
7 
8 print("m3 : ",__package__)

 

 

入口文件的__name__系统默认为__main__

  • 所以说在入口文件中不能使用相对导入
  • 会报错 : ModuleNotFoundError: No module named '__main__.package2'; '__main__' is not a package

main.py

 3 # 在入口文件使用相对导入,报错
 4 from .package2.package4.m2 import m


执行main.py入口文件,输出结果 : 

 9 f:\C\PythonVSCode\demo>python main.py
10 
11 Traceback (most recent call last):
12   File "main.py", line 5, in <module>
13     from .package2.package4.m2 import m
14 ModuleNotFoundError: No module named '__main__.package2'; '__main__' is not a package

 

 

 

********

 

posted on 2018-06-21 12:18  jaydenjune  阅读(54)  评论(0)    收藏  举报

导航