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

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

 

程序目录结构如下

 

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包的范围

 

  • 12
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值