Python中库导入from . import 和from .. import 的使用方法

                                      Python中库导入from . import 和from .. import 的使用方法

 

程序目录结构如下

Python中库导入from . import 和from .. import 的使用方法_第1张图片

 

from . import XX 和 from .. import XX 只能使用在子包中,例如上面的例子中,程序最外层是主程序app.py,程序有一个子包pack1,pack1下有a.py 和b.py两个文件,pack1下面有子包pack2,pack2下有c.py

#a.py
def f1():
    print("aaaaaaaaaaaaaa")
#--b.py
from .  import a
def zz():
    a.f1()
    
#--c.py
from .. import a
def cc():
    a.f1()
    

可以看到b.py和c,py 分别使用了import . 和import ..的用法

在app.py 中分表调用b和c的函数

# app.py
import pack1.b as b
import pack1.pack2.c as c

b.zz()
c.cc()

 注意的是: 只能在app.py 同级的位置调用使用了import .和 import ..的b和c,也就是在库pack1的外面调用。

如果想单独调试b和c ,此时是不允许在b和c文件中使用if __name__=="__main__"的方式进行调试的

那么在b.py 中是否允许使用使用 from .. import d   来调用的d文件呢

不允许,因为d.py  和app.py 主程序处于同一层级,超过了pack1包的范围

 

你可能感兴趣的:(Python,python)