我在同一目录中有两个模块:
PDSC2.py
和db_layer.py
我想从DBLayer
导入一个名为db_layer.py
的类,所以我写道:
from db_layer.py import DBLayer
但是我收到了一个错误:
ModuleNotFoundError: No module named 'db_layer'
有些人知道我做错了什么吗?
答案 0 :(得分:0)
首先假设这个python文件存放在同一目录中,然后从代码中删除扩展名。
from db_layer import DBLayer
或强>
from db_layer import *
答案 1 :(得分:0)
目录是否在python搜索模块的地方,python路径?你在目录中有__init__.py
(它可以是空白的吗?)
答案 2 :(得分:0)
您需要将程序文件db_layer.py
粘贴到\Python\Python36-32\Scripts
目录中
,然后使用from db_layer import DBLayer
或from db_layer.py import DBLayer
在python程序中调用所需的类。
实际上,有时将被调用模块的目录更改为\Python\Python36-32\Scripts
可以轻松解决这些类型的问题。
答案 3 :(得分:0)
这是对我有用的解决方案:
import sys
sys.path.append("C:\\Users\\carmel.han\\AppData\\Roaming\\QGIS\\QGIS3\\profiles\\default\\python\\plugins/filterparcel")
from db_layer import DBLayer