python中的imp模块——让引用模块更加简单

最近撸代码的时候发现python有一个imp模块,有点儿意思。

首先:

pip install imp
看模块名,可以看出其实就是"import"的缩写。在功能上也一样,但用起来比import要成熟一些。

直接看例子:在一个py文件中调用另一个py文件,不用import的方式。

第一个文件func.py这么写:

def print_text():
print('hehe')
第二个文件imp_test.py这么写: 

import imp

the_func = imp.load_source('lol', './func.py')
# 第一个参数为命名,重要的是第二个参数指定引用函数路径就行了。
the_func.print_text()
直接运行python imp_test.py就可以发现输出为: hehe

和import类似,当运行一遍以后,会在当前路径生成一个__pycache__文件记录引用关系,以保证再次运行时可以加速。

imp模块的优点:

1. 既可以指定相对路径又可以指定绝对路径,在使用上非常灵活。而import只是经常换个环境就会遇到路径错误(遇到过的都懂-_-);被import弄烦了的都可以用imp解决。

imp模块的缺点:

1. 不能在pycharm中用ctrl+click追踪函数路径;
————————————————
版权声明:本文为CSDN博主「木盏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/leviopku/article/details/102739686

原文地址:https://www.cnblogs.com/ExMan/p/14846679.html