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

自定义abc.py文件导入不符合预期的问题求助

abc.py文件导入不符合预期的问题求助

我最近在研究Python模块的导入机制,了解到导入模块时,Python会先查找同名的内置模块,找不到的话再去sys.path列出的目录里搜索。我先查看了自己系统的sys.path内容:

['/home/user/Desktop/Python', '/usr/lib64/python313.zip', '/usr/lib64/python3.13', '/usr/lib64/python3.13/lib-dynload', '/usr/lib64/python3.13/site-packages', '/usr/lib/python3.13/site-packages']

为了确认abc是不是内置模块,我运行了这段代码:

import sys
print(sys.builtin_module_names)

输出结果里只有_abc,并没有abc,所以我确定abc不是内置模块。

接着我做了个验证实验:在sys.path排第一的/home/user/Desktop/Python目录下,创建了两个文件:

  • abc.py:
    var = 5
    
  • main.py:
    import abc
    print(abc.var)
    

按照我的理解,既然abc不是内置模块,Python应该优先搜索当前目录,找到我自己写的abc.py,然后打印出5。可实际运行main.py时却报错了:

Traceback (most recent call last):
  File "/home/user/Desktop/Python/main.py", line 2, in <module>
    print(abc.var)
          ^^^^^^^
AttributeError: module 'abc' has no attribute 'var'

我完全摸不着头脑,有没有大佬能帮我分析下问题出在哪里?

备注:内容来源于stack exchange,提问作者Infinite

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 16:53:02