繁体   English   中英

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

[英]How to import a python module from a relative path?

我有以下文件结构: 在此处输入图片说明

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

我知道我不能只写import listener因为它不在同一路径中。 有什么简单的方法可以在不将路径添加到PYTHONPATH env变量的情况下进行导入? 有没有一种方法可以使其在“开箱即用”的任何计算机上工作,而无需将路径添加到PYTHONPATH或类似的解决方案? 最好是像C ++这样具有相对路径的东西?

可能重复: 从Python中的相对路径导入

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM