我做了一些网络搜索,但我发现的只是沮丧。
我在目录(让我们称之为)“projectdir”中有一个项目,其中有“main.py”。在 projectdir 中,我有一个名为“otherstuff”的子目录,其中有“foo.py”。
如何导入 foo.py,这样我就可以在 main.py 中使用它的内容,而不需要做 python 设计者/实现者应该做的很多工作,也不依赖样板文件?
或者这在python中是不可能的?
您需要包含__init__.py
在您的otherstuff
目录中。这是告诉 python 在那里搜索导入。
python文档解释了模块/包导入的工作原理。并且值得花时间阅读它,尽管它的篇幅很长
您需要将__init__.py
文件放在 otherstuff 子目录中,以将其标记为包。之后,您可以使用以下命令导入模块:
import subdirectory.foo
或者
from subdirectory import foo
__init__.py 文件可以为空。在 python 中没有其他“干净”的方法可以实现这一点。