3. 包的相对导入
什么是包的相对导入
包的相对导入是指包内模块的相互导入。
语法
from 相对路径包或模块 import 属性或模块名
# 或
from 相对路径包或模块 import *
包的相对路径
在 from xxxx import
语句中可以使用相对导入。
- 在 from 和 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()