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

能否将自定义Python库拆分为多文件且保留原导入方式?

完全可行,按以下步骤操作即可实现
  • 先创建一个名为mylib的文件夹,把拆分后的mylib1.py、mylib2.py等子模块文件都放在这个文件夹里。
  • 在mylib文件夹中新建__init__.py文件,Python靠这个文件识别该文件夹为一个包。你可以在这个文件里把各个子模块的内容导出到包的顶层命名空间,让外部能直接用mylib.xxx的方式调用。

举个实际例子:
假设mylib1.py里有方法func_a,需要调用mylib2.py里的func_b,那mylib1.py的代码可以这么写:

from . import mylib2

def func_a():
    return mylib2.func_b() + 1

mylib2.py的代码:

def func_b():
    return 100

然后在__init__.py里把需要暴露的内容导入:

# 把子模块的方法直接导入到包级别
from .mylib1 import func_a
from .mylib2 import func_b

# 如果需要保留子模块的访问路径(比如 mylib.mylib1.func_a),也可以导入子模块本身
from . import mylib1, mylib2

这样外部脚本使用的时候,直接import mylib就能和之前单文件的用法完全一致:

import mylib

print(mylib.func_a())  # 输出101
print(mylib.func_b())  # 输出100
# 也可以直接访问子模块
print(mylib.mylib1.func_a())
  • 最后要确保mylib文件夹所在的目录在Python的搜索路径sys.path中,或者把这个包通过setup.py或pyproject.toml配置成可安装包,这样任何脚本都能顺利导入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 07:45:59