![](/img/trans.png)
[英]How to import a Python module with relative path to a file from another directory?
[英]How to import a python module from a relative path?
我有以下文件结构:
我正在尝试初始化main.py
中的某些对象,这些对象属于Listener
, Parser
和Configurations
文件夹中的模块。
我知道我不能只写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.