如何从另一个文件(在另一个文件夹中)包含类 - python

时间:2011-07-20 18:55:46

标签: python class python-3.x

我在位置'lib / lib_add_participant.py'中有一个python文件。我在文件中声明了一个类。

现在我想从call_participant.py文件中调用类函数。

我尝试了这段代码from lib/lib_add_participant.py import LibAddParticipant

它没有用。请纠正我(我来自Ruby)。

2 个答案:

答案 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
相关问题