我在位置'lib / lib_add_participant.py'中有一个python文件。我在文件中声明了一个类。
现在我想从call_participant.py文件中调用类函数。
我尝试了这段代码from lib/lib_add_participant.py import LibAddParticipant
它没有用。请纠正我(我来自Ruby)。
答案 0 :(得分:4)
如果您的文件结构如下:
myproject/
__init__.py
call_participant.py
lib/
__init__.py
lib_add_participant.py
在这种情况下,您的__init__.py
文件可以为空,如果您愿意(或者他们可以定义任意数量的内容 - 请参阅this fine answer from Alex Martelli了解详情。
然后您可以使用
添加它from .lib.lib_add_participant import LibAddParticipant
但是,如果call_participant.py
是您的结束脚本,那么这种策略将不起作用,因为您“无法在非包裹中进行相对导入”,因为解释器会告诉您。在这种情况下,你最好的选择(在我看来,至少)是将lib
放入你的python路径中的一个包中(在你的site-packages目录中,或在{{1引用的路径中)环境变量)。
答案 1 :(得分:0)
假设lib
位于PYTHONPATH
中列出的目录中,请尝试
from lib.lib_add_participant import LibAddParticipant