Python:导入模块一次,然后与几个文件共享

时间:2016-05-24 03:19:12

标签: python python-import

我有以下文件,

file1.py
file2.py
file3.py

让我们说这三个都使用

lib7.py
lib8.py
lib9.py

目前,这三个文件中的每一个都有行

import lib7
import lib8
import lib9

如何设置我的目录/代码,使libs只导入一次,然后在三个文件之间共享?

2 个答案:

答案 0 :(得分:9)

每个文件至少需要导入一次。但您可以将其设置为单个导入行:

可能最干净的方法是创建一个文件夹lib,在其中移动所有lib?.py,然后向其中添加一个名为__init__.py的空文件。

这样您就可以从lib?.py文件中创建package。它可以像这样使用:

import lib
lib.lib7

根据您希望结束的位置,您可能还希望在__init__.py中添加一些代码:

from lib7 import *
from lib8 import *
from lib9 import *

通过这种方式,您可以在单个lib?.py中获得来自单个import lib的所有符号:

import lib
lib.something_from_lib7

答案 1 :(得分:4)

在单独的模块中导入每个模块,然后导入:

lib.py

import lib7
import lib8
import lib9

在每个文件(file1.pyfile2.pyfile3.py)中,只需使用import lib即可。当然,您必须使用lib.lib7引用它们 - 为避免这种情况,您可以使用from lib import *