一次弄清楚所有Python 3 关于import不同路径问题

一、目录结构

--ABCD.py  
--packageA   
   - __init__
   - AA.py
   - AB.py
--packageB
   - __init__.py
   - BA.py
   - BB.py
--pathC
   - CA.py
   - CB.py
--pathD
   - DA.py
   - DB.py

二、import情况

1. ABCD.py 引入 AA.py/AB.py 上层引入下层
  from packageA import AA

或者

__all__=["AB","AA"]         # __init__.py
from com.pku import *       # ABCD.py
2. ABCD.py 引入 CA.py/DA.py 上层引入下层(非包)
  from pathC import CA
3. AA.py 引入 AB.py 属于同一包中
   import AB.py
4. AB.py 引入 BA.py 不同包中
   from packageB import BA  如果packageB上面还有package路径,需要需用绝对路径
5. AA.py/AB.py 引入 ABCD.py 下层目录引入上层目录

不管AA.py/AB.py路径多么深,直接

   import ABCD.py
6. CA.py 引入 CB.py 同目录引入(非包)
import CB  || from pathC import CB    第二个语法只支持一层路径
7. CA.py引入DA.py 非相同目录
 from pathD import DA

也只支持单层路径

8. CA.py引入ABCD.py 下层目录(非包)引入上层目录
import ABCD  ABCD.py可以比CA.py高出多层
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值