我有一个项目,其文件夹结构如下:
project:
folder1:
__init__.py
file11.py
folder2:
__init__.py
file21.py
folder3:
__init__.py
file31.py
__init__.py
file1.py
file2.py
..
从项目的根目录,我可以在同一路径上导入文件
实施例,
在 file1.py 中,from file2 import 123
和from folder3.file31 import 456
正常工作
在 file21.py 中,import file1
正常工作
我这样做时会触发我的问题:
实施例,
在 file21.py ,from folder3.file31 import xyz
这会抛出像ImportError这样的错误:没有名为folder3的模块
所有 __ init __。py 文件都是空的,让python相信它们是包。我不明白为什么会这样。我想知道一个解决方案,以及它如何运作的一些小见解。
答案 0 :(得分:1)
模块 file31.py 位于包 project.folder3 内,不在项目内,也不在与 file21相同的包中的.py 即可。尝试在 file21.py :
中使用/var/html/www/test/cache/aa/xx/xx/01.php
/var/html/www/test/cache/aa/xx/xx/02.php
/var/html/www/test/cache/aa/xx/xx/03.php
....
而不是
from folder3.file31 import xyz
答案 1 :(得分:1)
你应该写
from folder3.file31 import xyz