这是我通过对同csdn的另一位博主讲解这个板块的博客研究和自行实验后,自己的心得
在我看来,导入方式的分类可分为绝对导入和相对导入(相对于当前import语句所在文件的目录)
绝对导入:
import A.B
from A import B
相对导入:
from . import B (从当前目录)
from ..A import B (相对于A目录的上上层目录,单个'.'代表上层,两个代表上上层,依次类推)
记住packege每层都必须存在一个_init_.py 不然python会识别不出此目录是packege,以至于import packege失败
其实一般出错是出错在相对导入,其虽然简单,但更易出错
推荐使用try except来避免此类错误发生,导致程序出错
try:
from . import B
from .A import B
except Exception:
import A.B
from A import B
(可能其中目录表达有错,但意思就是先try相对导入,如果出错就捕获异常用绝对导入)由于写博客当天时间较紧,就只能先写到这了