我正在尝试导入另一个文件夹中的文件,但无法执行。 我的文件夹结构是
Animals/Bird/Birds.py
Animals/Bird/__init__.py
Animals/Mammals/Mammals.py
Animals/Mammals/Testing.py
Animals/Mammals/__init__.py
我无法从Testing.py文件访问Birds.py文件
Animals/Bird/__init__.py
----------------------
name = "Bird"
Animals/Mammals/__init__.py
----------------------
name = "Mammals"
Animals/Bird/Birds.py
----------------------
print("Hello")
Animals/Mammals/Mammals.py
----------------------
print("BYE")
我尝试使用 init .py文件进行导入,但找不到解决方法
# Import classes from your brand new package
from Mammals import *
from Bird.Birds import *
我想从Testing.py文件访问Birds.py文件,该文件是其他目录,导致我"ModuleNotFoundError: No module named 'Bird'"
错误
答案 0 :(得分:0)
经过一番研究,我认为您不能直接导入它,因此您可以尝试将python的作用域扩展到您想要的目录
import sys
sys.path.append('Animals/Bird') # directory you want to access that you might wanna put more accuratly
from Birds import *
答案 1 :(得分:0)
尝试:
from ..Bird.Birds import *
或者如果您还想要Bird __init__.py
:
from ..Bird import *
您需要先进入module
所在的父目录。
如果您将位于Mammals
目录中而不是Testing.py
中,则只需在.
前面加上一个Bird
:
from .Bird.Birds import *