最近撸代码的时候发现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