相关疑难解决方法(0)

如何导入__init__.py中定义的类

我正在尝试组织一些模块供我自己使用.我有这样的事情:

lib/
  __init__.py
  settings.py
  foo/
    __init__.py
    someobject.py
  bar/
    __init__.py
    somethingelse.py
Run Code Online (Sandbox Code Playgroud)

lib/__init__.py,我想定义一些类,如果我导入lib使用.但是,如果不将类分成文件,并将其导入,我似乎无法弄明白__init__.py.

而不是说:

    lib/
      __init__.py
      settings.py
      helperclass.py
      foo/
        __init__.py
        someobject.py
      bar/
        __init__.py
        somethingelse.py

from lib.settings import Values
from lib.helperclass import Helper
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

    lib/
      __init__.py  #Helper defined in this file
      settings.py
      foo/
        __init__.py
        someobject.py
      bar/
        __init__.py
        somethingelse.py

from lib.settings import Values
from lib import Helper
Run Code Online (Sandbox Code Playgroud)

是可能的,还是我必须将类分成另一个文件?

编辑

好吧,如果我从另一个脚本导入lib,我可以访问Helper类.如何从settings.py访问Helper类?

此处的示例描述了包内引用.我引用"子模块经常需要互相引用".在我的例子中,lib.settings.py需要Helper,而lib.foo.someobject需要访问Helper,那么我应该在哪里定义Helper类?

python packages

96
推荐指数
4
解决办法
10万
查看次数

标签 统计

packages ×1

python ×1