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

如何精简Python导入代码行?未来新增模块时如何简化?

Python多模块批量导入的简化方案

针对你这种重复的from xxx import *导入场景,有两种实用的简化方式,尤其适合未来新增模块的情况:

1. 利用包的__init__.py统一管理(推荐)

把所有州相关的模块放到一个自定义包中(比如命名为states),然后在包的__init__.py文件中统一写入导入语句:

# states/__init__.py
from .wisconsion1 import *
from .alaska1 import *
from .texas1 import *
from .indiana1 import *

之后在主代码里只需要一行导入即可:

from states import *

未来新增模块时,只需要在states/__init__.py里添加对应的from .new_state import *语句,主代码完全不用修改。

2. 动态导入模块(无需调整目录结构)

如果不想调整现有文件结构,可以用importlib模块实现批量动态导入:

import importlib

# 维护需要导入的模块名列表
state_modules = ["wisconsion1", "alaska1", "texas1", "indiana1"]

for module_name in state_modules:
    module = importlib.import_module(module_name)
    # 将模块中非下划线开头的成员导入到当前命名空间
    globals().update({k: v for k, v in module.__dict__.items() if not k.startswith('_')})

后续新增模块时,直接往state_modules列表里添加模块名即可。

注意事项

  • 不管用哪种方式,import *都可能引发命名冲突问题,尽量优先明确导入具体成员而非全量导入。
  • 动态导入的方式灵活性高,但可读性和调试友好度不如显式的包管理方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:54:31