文件夹结构:
ABC
|--db
| |-- __init__.py
| |-- post.py
| |-- common.py
| |-- connection.py
|-- __init__.py
|-- main.py
从 main.py 我想导入 db 文件夹中的 post.py 。 在 post.py 中,我从 common.py 导入一些函数。
main.py内容:
from db import post
post.py内容:
from common import table_insert,get_row
运行 main.py 会出现此错误:
Traceback (most recent call last):
File "/home/user/ABC/main.py", line 1, in <module>
from db import post
File "/home/user/ABC/db/post.py", line 1, in <module>
from common import table_insert,get_row
ModuleNotFoundError: No module named 'common'
附加信息:
__init__.py
文件为空我尝试在 python 文档中搜索有关如何导入其他模块的一般描述,这些模块又导入其他模块。没有运气 。我在 Stackoverflow 上搜索了类似的案例 - 没有找到任何可用的答案
在
post.py
中,必须使用相对导入:
from .common import table_insert, get_row
使用相对导入是指与
post.py
相同的目录,即 db
目录。