从父目录导入模块
Import module from parent directory
看看我的文件结构:
main/
main.py
__init__.py
mysql/
read.py
__init__.py
conf/
mysql.py
loc.py
__init__.py
conf/mysql.py
包含 mysql 服务器的信息(端口、主机名等...)
read.py
用于通过连接到 conf/mysql.py
中指定的服务器从 MySQL 数据库中获取和读取值。
我想实现的是让read.py
导入conf/mysql.py
,所以我试了:
from conf import mysql
import main.conf.mysql
它们都不起作用。它给了我 ImportError: No Module Name 'main'
和 ImportError: No Module Named 'conf'
,导入 conf/mysql.py
只适用于 main.py
我知道附加到 sys.path
会起作用,但出于某些原因,我不想那样做。
有解决此问题的解决方案吗?提前致谢,对于这个复杂的问题深表歉意。
由于 main
目录是您项目的根目录,因此您不应在绝对导入中包含 main
:
from conf import mysql
或使用 relative import,您可以:
from ..conf import mysql
看看我的文件结构:
main/
main.py
__init__.py
mysql/
read.py
__init__.py
conf/
mysql.py
loc.py
__init__.py
conf/mysql.py
包含 mysql 服务器的信息(端口、主机名等...)
read.py
用于通过连接到 conf/mysql.py
中指定的服务器从 MySQL 数据库中获取和读取值。
我想实现的是让read.py
导入conf/mysql.py
,所以我试了:
from conf import mysql
import main.conf.mysql
它们都不起作用。它给了我 ImportError: No Module Name 'main'
和 ImportError: No Module Named 'conf'
,导入 conf/mysql.py
只适用于 main.py
我知道附加到 sys.path
会起作用,但出于某些原因,我不想那样做。
有解决此问题的解决方案吗?提前致谢,对于这个复杂的问题深表歉意。
由于 main
目录是您项目的根目录,因此您不应在绝对导入中包含 main
:
from conf import mysql
或使用 relative import,您可以:
from ..conf import mysql