python - python从子目录嵌套导入
问题描述
root
├── rootfile.py
├── folder
│ └── __init__.py
│ └── file.py
│ └── subfolder
│ └── __init__.py
│ └── subfile.py
文件夹结构如上。
假设文件有函数 foo(),子文件 subfoo()。
rootfile 从 file.py 导入 foo()
from folder.file import foo
文件从 subfile.py 导入 subfoo()
from subfolder.subfile import subfoo
并报告 ModuleNotFoundError: No module named 'subfolder'。我应该如何解决这个错误?我在 file.py 中尝试了 sys.path.append 但它没有用。
有趣的是,
from folder.subfolder.subfile import subfoo
从根文件工作,但这不是我需要的。
我提前感谢您的时间和指导。
解决方案
您的“查找导入的路径”很可能包含项目的根目录,但不包含文件夹/子文件夹等。
使用相对导入应该有助于:
from .subfolder.subfile import subfoo
推荐阅读
- java - 此循环执行的最大次数
- timestamp - Gstreamer 从 USB 源播放原始 h.264 流(时间戳问题)
- reactjs - 以奇怪的行为更新状态
- raspberry-pi4 - 如何连接 A/D 转换器以在特定电压范围内进行测量,以免浪费测量分辨率
- python - http 调用通常比本地调用慢得多,尤其是在 Flask 中?
- neo4j - neo4j 连接不断下降
- rust - 关闭时的借来价值的寿命不够长
- azure - Azure DevOps 中的工作项
- angular - Why export MaterialModule
- graphql - GraphQL 中的变量是如何传递的?