You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化Python中带有相同公共前缀的冗余import导入语句?

Python长导入路径简化方案

方法1:直接为公共父包设置别名

Python原生支持为导入的包设置自定义别名,你可以先将重复的公共前缀包导入并设置短别名,后续直接通过别名调用子模块或对象即可:

# 先为公共前缀包设置短别名
import mylibs.master_lib.digital_assistant as da

# 后续导入简化写法示例
from da.web_bots.google_bot import searchGoogle
from da.web_bots.social_media_connect import wa_pag
from da.languages import access_dictionary
from da.digital_assistant import speech_to_text
from da.user_interface import *
from da.web_bots.social_media_connect import *
from da.webAppsOC import *
from da.device_controller import *
from da.computer_graphics import *
from da.desktopAppsFiles import *

这种方式不需要修改原库的任何代码,不会破坏原有清晰的命名规范,同时大幅减少导入语句的冗余。

方法2:通过包的__init__.py预导出内容(适配自定义项目包场景)

如果你要简化的是自己开发的自定义包,可以在公共前缀包的__init__.py文件中提前导入常用的子模块、方法或类,后续外部导入时可以进一步省略深层子路径:

  1. 首先在mylibs/master_lib/digital_assistant/__init__.py中添加预导入逻辑:
# 预导出常用对象和子模块
from .web_bots.google_bot import searchGoogle
from .web_bots.social_media_connect import wa_pag
from .languages import access_dictionary
from .digital_assistant import speech_to_text
from . import user_interface
from . import web_bots
from . import webAppsOC
from . import device_controller
from . import computer_graphics
from . import desktopAppsFiles
  1. 业务代码中导入时可以直接简化为:
import mylibs.master_lib.digital_assistant as da

# 直接从别名对象获取所需内容,无需写深层路径
searchGoogle = da.searchGoogle
wa_pag = da.wa_pag
speech_to_text = da.speech_to_text
# 子模块也可以直接调用
from da import user_interface
from da.web_bots import *

注意事项

  • 尽量避免频繁使用通配符*导入,容易污染当前命名空间,也可能引发命名冲突,更推荐按需导入具体的方法、类或子模块
  • 别名尽量保持简单表意,比如用da对应digital_assistant,避免使用过于生僻的别名降低代码可读性

内容的提问来源于stack exchange,提问作者HIMANSHU PANDEY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 17:54:05