imp.load_source()
imp.load_source(name,pathname[,file])的作用把源文件pathname导入到name模块中,name可以是自定义的名字或者内置的模块名称。
假设在路径E:/Code/Python3/下有一个文件test.py, 内容如下:
def myadd(x, y):
return(x + y)
使用方法如下:
import imp
m = imp.load_source(‘mymod’, ‘E:/Code/Python3/test.py’)
方法一
a = m.myadd(4, 10)
print(a)
方法二
import mymod
a = mymod.myadd(4, 10)
print(a)
imp.find_module(name[, path])
找到模块名为name的模块,第二个参数是搜索的路径列表,如果省略或者为None,则会在sys.path的路径中寻找
如果找到了,会返回一个三个元素的元组:(file, name, description)
第一个是file对象,第二个是该文件对象所在的路径,第三个是get_suffixes()返回的desc
在当前目录找到的本地模块
In [2]: imp.find_module('path')
Out[2]: (<open file 'path.py', mode 'U' at 0x7f53c9241e40>, 'path.py', ('.py', 'U', 1))
在内置模块里找到的
In [10]: imp.find_module('sys')
Out[10]: (None, 'sys', ('', '', 6))
如果没找到,会抛出ImportError
imp.load_module(name, file, pathname, description)
加载一个之前被find_module()找到的模块
如果加载成功,返回一个模块对象
如果加载失败,抛出ImportError