从父目录导入模块

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