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

Python:在模块中编写函数以导入包,python,function,import,python-module,Python,Function,Import,Python Module,我正在尝试编写一个函数,该函数本身已加载,可以快速地全局导入一组模块 我认为,从本质上讲,加载的模块可以被视为变量,因此我尝试: def loadMods(): global np import numpy as np 当我加载numpy(调用np)时,没有问题 然后我创建了一个单独的.py文件,名为loadTest,其中包含 # loadTest module # coding: utf-8 def loadMod(): global np import

我正在尝试编写一个函数,该函数本身已加载,可以快速地全局导入一组模块

我认为,从本质上讲,加载的模块可以被视为变量,因此我尝试:

def loadMods():
    global np
    import numpy as np
当我加载numpy(调用np)时,没有问题

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

# loadTest module
# coding: utf-8

def loadMod():
     global np
     import numpy as np
然后尝试在python(2.7)中使用此.py文件导入numpy:

但是现在当我尝试呼叫np时

File "<stdin>", line 1, in <module>
NameError: name 'np' is not defined
文件“”,第1行,在
NameError:未定义名称“np”

为什么会发生这种情况?任何帮助或替代方法都将不胜感激。非常感谢:)

与其制作一个函数来完成这项工作,为什么不制作另一个模块呢?您可以将其命名为
modules.py
,并将所有导入内容放在其中:

import numpy as np
import os
import sys
...
然后,您需要做的就是:


一切都将可用。

为什么不制作另一个模块,而不是制作一个函数来实现这一点?您可以将其命名为
modules.py
,并将所有导入内容放在其中:

import numpy as np
import os
import sys
...
然后,您需要做的就是:


一切都将可用。

为什么不制作另一个模块,而不是制作一个函数来实现这一点?您可以将其命名为
modules.py
,并将所有导入内容放在其中:

import numpy as np
import os
import sys
...
然后,您需要做的就是:


一切都将可用。

为什么不制作另一个模块,而不是制作一个函数来实现这一点?您可以将其命名为
modules.py
,并将所有导入内容放在其中:

import numpy as np
import os
import sys
...
然后,您需要做的就是:


一切都将可用。

您必须首先这样定义
np

负载测试中

np=None
在别的地方

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

您必须首先这样定义
np

负载测试中

np=None
在别的地方

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

您必须首先这样定义
np

负载测试中

np=None
在别的地方

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

您必须首先这样定义
np

负载测试中

np=None
在别的地方

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

您所做的只是在
loadTest
模块中提供
np
,这一点都没有帮助。这正是我所期望的。感谢您的澄清:)您所做的只是在
loadTest
模块中提供
np
,这一点都没有帮助。这正是我所期望的。感谢您的澄清:)您所做的只是在
loadTest
模块中提供
np
,这一点都没有帮助。这正是我所期望的。感谢您的澄清:)您所做的只是在
loadTest
模块中提供
np
,这一点都没有帮助。这正是我所期望的。谢谢你的澄清:)这行不通。每个模块的全局名称空间是独立的,因此
loadMod
中的
global
语句将只在其自己的模块中写入
np
名称。这不起作用。每个模块的全局名称空间是独立的,因此
loadMod
中的
global
语句将只在其自己的模块中写入
np
名称。这不起作用。每个模块的全局名称空间是独立的,因此
loadMod
中的
global
语句将只在其自己的模块中写入
np
名称。这不起作用。每个模块的全局名称空间是独立的,因此
loadMod
中的
global
语句将只在其自己的模块中写入
np
名称。