gpt4 book ai didi

python - 导入错误 : No Module Named

转载 作者:太空狗 更新时间:2023-10-29 18:08:41 26 4
gpt4 key购买 nike

我正在尝试通过 Python 学习编程,所以如果这是一个荒谬的简单问题,我提前道歉。

我试图简化复杂的目录结构并利用 Python 的一些代码重用功能,我遇到了对我来说无法解释的 ImportError 错误。在过去的几个小时里,我一直在阅读有关 Python 的 importmodulepackage 功能( herehereherehere 其中其他),但我仍然无法解决这个(看似)简单的错误。

问题来了。

我有一个目录(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 目录?感谢您的帮助。我完全迷失了,真的很想一劳永逸地改进我的代码重用和目录结构。

最佳答案

您最初正在执行 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

ma​​in.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

如您所见,我从嵌套文件中导入了 ma​​in.py。你会看到 ma​​in.py 两次。第一次启动,第二次导入case.py

关于python - 导入错误 : No Module Named <parent dir>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24128731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com