ImportError:没有模块命名为<parent dir>
我试图通过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
的ImportError: 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