【问题标题】:How to import a python module from a relative path?如何从相对路径导入 python 模块?
【发布时间】:2014-05-11 15:21:45
【问题描述】:

我有以下文件结构:

我正在尝试初始化main.py 中的一些对象,这些对象属于ListenerParserConfigurations 文件夹中的模块。

我知道我不能只写import listener,因为它不在同一条路径上。 在不添加PYTHONPATH env 变量的路径的情况下,导入工作有哪些简单的方法? 有没有办法让它在“开箱即用”的任何机器上工作,而无需添加到 PYTHONPATH 的路径或任何类似的解决方案?最好有像 C++ 这样的相对路径?

【问题讨论】:

    标签: python python-import pythonpath


    【解决方案1】:

    可能重复:Importing from a relative path in Python

    简而言之,您需要在main.py 中以编程方式定义PYTHONPATH,类似于:

    import sys, os
    sys.path.append(os.path.dirname(__file__))
    

    这会将当前目录隐式添加到PYTHONPATH。其余部分很简单

    在每个目录中创建__init__.py 文件。之后,可以将每个模块导入为from Listener import ...from Misc import ... 等。

    该方法“开箱即用”,无需重新定义任何环境变量。

    【讨论】:

    • 这个答案没有回答如何从上面两级目录导入。 ... 仅适用于一层。任何的想法? THx
    猜你喜欢
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 2018-02-28
    相关资源
    最近更新 更多