Python:在模块中编写函数来导入包

时间:2015-02-21 19:53:12

标签: python function import python-module

我正在尝试编写一个本身加载的函数,以便在全局范围内快速导入一堆模块。

我认为,基本上,加载的模块可以被视为变量,所以我尝试了:

def loadMods():
    global np
    import numpy as np

当我加载numpy(调用np)时没有问题。

然后我做的是创建一个名为loadTest的单独的.py文件,其中包含

# loadTest module
# coding: utf-8

def loadMod():
     global np
     import numpy as np

然后尝试在python(2.7)中使用此.py文件导入numpy:

import loadTest
loadTest.loadMod()

但现在尝试调用np时我得到了

File "<stdin>", line 1, in <module>
NameError: name 'np' is not defined

为什么会这样?任何帮助或替代方式这样做将非常感激。谢谢你们:)

2 个答案:

答案 0 :(得分:4)

为什么不制作另一个模块,而不是制作一个功能呢?您可以将其命名为modules.py,并将所有导入放在那里:

import numpy as np
import os
import sys
...

然后,您需要做的就是wildcard import

from modules import *

一切都将可用。

答案 1 :(得分:-1)

您必须先定义np

loadTest

np=None

在其他地方

import loadTest
loadTest.loadMod()
np=loadTest.np