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

Python使用import as设置别名后导入子模块报ModuleNotFoundError

问题产生原因

Python 导入系统的检索逻辑仅识别官方注册的模块名,import os as my_os 本质是将加载完成的 os 模块对象赋值给当前代码作用域内的 my_os 变量,这个别名仅在当前代码的变量命名空间中生效,不会被注册到Python的全局模块索引里。
当你执行 import my_os.path 时,Python导入系统会直接在模块搜索路径中查找名为 my_os 的模块,自然找不到对应文件,触发 ModuleNotFoundError 报错。而直接用 import os.path 时,导入系统可以匹配到已注册的 os 模块,因此可以正常加载子模块。

解决方案
  • 直接通过别名访问子模块,无需额外导入:os 模块加载完成后,path 子模块已经作为属性挂载到 os 模块对象上,你直接用 my_os.path 调用对应方法即可,不需要单独写 import 语句。
    示例代码:
    import os as my_os
    # 直接使用别名访问子模块即可正常运行
    print(my_os.path.abspath("."))
    
  • 若需要单独给子模块设置别名,使用 from 导入语法:
    示例代码:
    from os import path as my_os_path
    print(my_os_path.exists("."))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:18:03