有没有办法导入整个包的python模块?

时间:2017-01-27 00:01:34

标签: python python-3.x import packages

我有一个看起来像这样的包结构

├── Plugins
│   ├── Eight_Ball.py
│   ├── Ping.py
│   ├── Weather.py
│   ├── __init__.py

程序包中的每个.py文件都需要从项目的其他位置导入一些模块。我认为包中的每个文件都不是以

开头
from ..Utils.constants import Plugin_Type
from ..Models.Plugin import Plugin
from ..Models.Singleton import Singleton

那么有没有办法让Plugins包中的文件默认具有这些导入?

1 个答案:

答案 0 :(得分:1)

简而言之,不,默认情况下,Plugins包中没有办法导入文件。

虽然通常不鼓励使用from module import *,但如果你真的想保存那些额外的行,你可以制作一个通用导入文件来导入你需要的所有内容,如下所示:

common_imports.py:

  from ..Utils.constants import Plugin_Type
  from ..Models.Plugin import Plugin
  from ..Models.Singleton import Singleton

other_files.py:

  from .common_imports import *

同样,不鼓励使用from module import *,我建议您只在每个文件的开头包含这几行。