Python 从同一包中的文件中导入 class 中的 __init__.py

Python Import class in __init__.py from file in same package

我觉得我应该知道这一点,因为我已经在 Python 编程了很长时间,但我一直在学习关于精细语言的新知识。我的问题(很可能是重复的,但我没能找到同样的情况)是这样的。我有这样的文件布局:

websocket/
    __init__.py
    client.py
    server.py

如何从 client.pyserver.py 导入文件 __init__.py 中的 类?漂亮而简单:P 提前致谢!我的问题不是 this 的重复问题,因为我是从包内部导入的,无论如何,做人们在答案中所做的事情根本没有帮助。

__init__.py 文件中定义的名称可用作包命名空间本身中的名称。

因此,如果您的 __init__ 包中有一个 Connection class,您可以从包内部导入它,就像使用您的包一样:请参阅通过

中的包名称添加到它
from websocket import Connection

如果由于某种原因你的包没有在你的 pythonpath 中配置,或者你的目录名称可以更改你可以使用相对导入 - 在这种情况下,引用当前包就像 . 这意味着在你的 client.py 中,你可以这样做:

from . import Connection