如何从相对路径导入python模块?

时间:2014-05-11 15:21:45

标签: python python-import pythonpath

我有以下文件结构: enter image description here

我尝试初始化main.py中属于ListenerParserConfigurations文件夹中的模块的某些对象。

我知道我不能写import listener,因为它不在同一条道路上。 如果没有添加PYTHONPATH env变量的路径,导入工作有哪些简单的方法? 有没有办法使它适用于任何机器"开箱即用"无需添加PYTHONPATH的路径或任何类似的解决方案?优选具有相似路径的东西,如C ++?

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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

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

相关问题