ImportError: 没有名为的模块。
ImportError: 没有名为的模块。
我正在尝试通过Python学习编程,所以如果这是一个非常简单的问题,我提前道歉。
我试图简化我的混乱目录结构并利用Python的代码重用功能,但我遇到了一个对我来说不可解释的 ImportError
错误。在过去的几个小时里,我一直在阅读关于Python的 import
、module
和 package
特性的内容(这里、这里、这里和 这里等等),但我仍然无法解决这个(看起来)简单的错误。
这就是问题所在。
我有一个目录(dir
),其中包含一个子目录(subdir
)。每个目录都包含几个文件。因此,我的整体目录结构如下所示:
dir/ __init__.py draw_lib.py subdir/ __init___.py drawing.py
在我的 drawing.py
文件中,我尝试使用以下行导入 draw_lib.py
: from dir import daw_lib.py
。结果出现了一个 ImportError: No module named dir
。有人能否快速解释一下为什么我的 drawing.py
文件找不到我的 dir
目录?感谢任何帮助。我完全迷失了,真的很想一劳永逸地改善自己的代码重用和目录结构。
admin 更改状态以发布 2023年5月23日
你最初执行了 draw_lib.py。所以整个程序的 '根目录' 是/。
然后,在 drawing.py 中尝试 'from dir import draw_lib.py',它无法工作,因为根目录仍然是/而不是dir/。
import draw_lib
在 drawing.py 中将会工作。
例子:
/ __init__.py main.py test/ __init___.py case.py
在 main.py 中,加入以下内容:
import test.case print 'main.py' if __name__ == "__main__": test.case.test()
在 test/case.py 中,加入以下内容:
import main def test(): print 'case.py'
我的输出:
main.py main.py case.py
你可以看到,我从一个嵌套文件中导入了 main.py。你会看到 main.py 出现了两次。一次是初始启动时,第二次是在 case.py 中导入它时。