如何引用另一文件夹中的类 - python
我有一个Python文件,位置在'lib/lib_add_participant.py',里面定义了一个类。
现在我想在另一个文件'call_participant.py'中调用这个类的函数。
我试着用这段代码 from lib/lib_add_participant.py import LibAddParticipant
来导入。
但是没有成功。请帮我纠正一下(我之前是用Ruby的)。
2 个回答
0
假设 lib
文件夹在你 PYTHONPATH
列出的目录里,可以试试下面的代码:
from lib.lib_add_participant import LibAddParticipant
5
如果你的文件结构是这样的:
myproject/
__init__.py
call_participant.py
lib/
__init__.py
lib_add_participant.py
在这种情况下,你的 __init__.py
文件可以是 空的,如果你愿意的话(或者它们可以定义很多东西——想了解更多,可以看看 Alex Martelli 的这个精彩回答)。
然后你可以通过以下方式添加它:
from .lib.lib_add_participant import LibAddParticipant
不过,如果 call_participant.py
是你的最终脚本,那么这个方法就不行了,因为你“不能在非包中进行相对导入”,解释器会告诉你这一点。在这种情况下,我认为最好的办法是把 lib
变成你 Python 路径中的一个包(可以放在你的 site-packages 目录中,或者放在 pythonpath
环境变量所指的路径中)。