【发布时间】:2019-11-24 05:42:00
【问题描述】:
现在我正在使用 Python 3.6.8,现在我对导入文件感到困惑。 不能用了
├── db
│ ├── commit.py
│ ├── config.py
│ ├── database.ini
│ └── __init__.py
└── main.py
这是我的代码结构。对于每个文件,
#commit.py
from config import config
class Commit():
#many function
#some process. Which use package from config
#config.py
class config():
#some process.
#database.ini
#It's text file
#__init__.py
import commit
import config
#main.py
from db import commit
from db import config
class Main():
#many function
#include calling commit function
if __name__=="__main__":
#work with main function
但我的程序仍然出错。当我运行 main.py 时,下面是错误消息。
db/__init__.py", line 1, in <module>
import commit
ModuleNotFoundError: No module named 'commit'
为什么它不能工作?因为是 Python 3+ 吗?如何解决这个问题。
【问题讨论】:
-
如果从
__init__.py中完全删除import语句会怎样? -
还是一样的错误。
-
好的,下次试试。那么如果您将
__init__.py更改为from . import commit而不是import commit,会发生什么?或者只是import .commit? -
仍然是 "ModuleNotFoundError" : No mudle named ....
-
你能在
main.py中做import db.commit和import db.config吗?
标签: python python-3.x python-3.6 python-import init