Python:如何在模块之间共享导入?

时间:2016-01-30 13:40:37

标签: python

我的包装如下:

enter image description here

这些帮助者,因为他们都在处理scipy,所有人都有共同的导入:

from matplotlib import pyplot as plt
import numpy as np

我想知道是否可以将它们解压缩出来,并将其放在其他地方,这样我就可以减少每个模块中的重复代码?

2 个答案:

答案 0 :(得分:5)

您可以创建一个名为my_imports.py的文件,该文件执行所有导入,并通过__all__变量将其作为*提供(请注意,模块名称声明为字符串):

档案my_imports.py

import os, shutil
__all__ = ['os', 'shutil']

档案your_other_file.py

from my_imports import *
print os.curdir

编辑:

虽然您可能希望在其他文件中明确:

<强> your_other_file.py

from my_imports import os, shutil #or whichever you actually need.
print os.curdir

不过,这样可以节省您每次都要指定各种来源的时间,而且您可以一次性完成。

答案 1 :(得分:0)

好的,这是我的调整,

enter image description here

在包dir下创建gemfile,如下所示

import numpy as np
from matplotlib import pyplot as plt
import matplotlib as mpl

然后,对于其他文件,例如app_helper.py

from .gemfile import *

这来自Can I use __init__.py to define global variables?