ImportError:没有模块命名为<parent dir>

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

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

这是问题。

我有一个目录( 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 dirImportError: No module named dir 。 任何人都可以提供一个快速解释为什么我的drawing.py文件无法找到我的dir目录? 感谢您的帮助。 我完全失去了,并且真的想彻底改善我的代码重用和目录结构。


您最初正在执行draw_lib.py 。 所以程序中的“根目录”就是/

然后,当你在drawing.py中尝试'从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()

测试/ case.py中 ,把这个:

import main

def test():
        print 'case.py'

我的输出:

main.py
main.py
case.py

正如你所看到的,我从一个嵌套文件导入了main.py。 你会看到main.py两次。 第二次在case.py中导入时,首次启动。

链接地址: http://www.djcxy.com/p/79675.html

上一篇: ImportError: No Module Named <parent dir>

下一篇: Drawing warped text on iOS