导入软件包而不导入其中的一些模块

2024-05-19 11:03:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为biographs的包:

biographs (folder)
 >biographs (package)
  >__init__.py
  >bspace.py
  >bpdb.py
  >bgraph.py

__init__.py文件从模块pmolecule.py导入类Pmolecule,如下所示:

^{pr2}$

反过来,pmolecule.py文件导入以下模块:

from __future__ import absolute_import
from . import bpdb
from . import bgraph
from . import bspace

Ipython有一个完成功能,可以让您看到对象的可用属性,例如

In [1]: cd ~/biographs/
/Users/rdora/biographs

In [2]: import biographs

In [3]: biographs.
                   bgraph    Pmolecule
                   bpdb      pmolecule
                   bspace

正如您在biographs.之后看到的,属性列表相当于模块的完整列表加上类Pmolecule,它是__init__.py中唯一的显式导入。在

这似乎是合乎逻辑的,因为所有这些都是使用类Pmolecule所必需的。在

但是,我想知道是否有一种方法可以仅import而不需要访问它所使用的模块的。在

谢谢


Tags: 模块文件infrompyimport列表属性

热门问题