python-3.x - 从父目录导入模块

标签 python-3.x python-3.4

看看我的文件结构:

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 directory 是你项目的根目录,你不应该包含main在您的绝对进口中:

from conf import mysql

或与 relative import , 你可以做:
from ..conf import mysql

关于python-3.x - 从父目录导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53863239/

相关文章:

python - 为什么没有引发 ValueError ?

android - Android 上的 Pygame/Kivy?

python - 如何在 Linux 上将 .py 转换为 .exe?

python - 如何在 Windows 上模拟 socket.socketpair

python - 使用 get_context_data 从 url 抓取数据创建详细 View

python - python中重复坐标的求和属性

python - 为什么表达包含 '\' 的正则表达式在没有原始字符串的情况下也能工作。

python - python 3.4 的正则表达式

python - Jinja PackageLoader 在 Python 3 上引发 "unregistered loader type"

python - 使用 python 创建数字模式