Python 多层级导包

假如我的项目层级结构如下,project文件夹为项目根路径:

project/
├── first/
│   ├── __init__.py
│   ├── second/
│   │   ├── __init__.py
│   │   └── second_test.py
│   └── first_test.py
└── main.py

假设项目入口文件为main.py,而first_test.pyTestFirst类,second_test.pyTestSecond类,那么现在需求如下:

  1. main.py中导入first_test.py中的TestFirst
  2. first_test.py中导入second_test.py中的TestSecond

main.py的代码如下:

from first.first_test import TestFirst

TestFirst()

first_test.py的代码如下:

from first.second.second_test import TestSecond

class TestFirst:
    def __init__(self) -> None:
        print('first_test.py')

TestSecond()

second_test.py的代码如下:

class TestSecond:
    def __init__(self) -> None:
        print('second_test.py')

执行main.py后得到如下结果:

second_test.py
first_test.py

通过上述例子可以发现,first_test.py模块中导入second_test模块的路径和main.py导入first_test.py模块的路径的起始模块都是first

说明我们在确定各个模块之间导入关系的起始模块是以入口文件main.py)为基准。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值