Python: 在模块中编写导入包的函数
Python: Write function in module to import packages
我正在尝试编写一个函数,该函数本身已加载,可以在全局范围内快速导入一堆模块。
我认为,本质上,加载的模块可以被视为变量,所以我尝试了:
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
为什么会出现这种情况?任何帮助或替代方法将不胜感激。非常感谢:)
与其制作一个函数来做这件事,为什么不制作另一个模块呢?您可以将其命名为 modules.py
并将所有导入内容放在那里:
import numpy as np
import os
import sys
...
那么,您只需 wildcard import:
from modules import *
一切都将可用。
你必须先这样定义np
。
在loadTest
中:
np=None
在其他地方
import loadTest
loadTest.loadMod()
np=loadTest.np
我正在尝试编写一个函数,该函数本身已加载,可以在全局范围内快速导入一堆模块。
我认为,本质上,加载的模块可以被视为变量,所以我尝试了:
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
为什么会出现这种情况?任何帮助或替代方法将不胜感激。非常感谢:)
与其制作一个函数来做这件事,为什么不制作另一个模块呢?您可以将其命名为 modules.py
并将所有导入内容放在那里:
import numpy as np
import os
import sys
...
那么,您只需 wildcard import:
from modules import *
一切都将可用。
你必须先这样定义np
。
在loadTest
中:
np=None
在其他地方
import loadTest
loadTest.loadMod()
np=loadTest.np