3. 包的相对导入

什么是包的相对导入

包的相对导入是指包内模块的相互导入。

语法

from 相对路径包或模块 import 属性或模块名
# 或
from 相对路径包或模块 import *

包的相对路径

from xxxx import 语句中可以使用相对导入。

. 代表当前目录
.. 代表上一级目录
... 代表上二级目录
.... 以此类推

注:相对导入时不能超出包的外部。

示例

文件: mypack/chat_tools/chat_menu.py

改写后:

# 此示例示意包的相对导入

from .dingding import start_dingding
from .wechat import start_wechat
from ..work_tools.wps import start_excel
def show_chat_menu():
    while True:
        print('1) 启动钉钉')
        print('2) 启动微信')
        print('3) 启动wps里面的Excel')
        print('0) 退出')
        sel = int(input('请输入选项:'))
        match sel:
            case 1:
                start_dingding()
            case 2:
                start_wechat()
            case 3:
                start_excel()
            case 0:
                break
            case _:
                print('您的输入有误,请重新选择!')

主模块调用

# 此实例示意模块的相对导入

from mypack.chat_tools.chat_menu import show_chat_menu

show_chat_menu()

视频讲解