Jarvis's Blog

白帽子、全栈、IoT安全专家、嵌入式系统专家

python中动态import子目录里class的方法

最近开发一个项目,碰到了一个问题,就是需要动态导入子目录里自己写的class,而类名是每加一个文件就在数据库里取出名字加载的,所以需要在用到的时候加载,我们都知道,加载模块可以用系统的__import__()函数,或者直接用exec命令执行Import字符串,当然我喜欢用更方便一点的importlib,但是碰到个问题,最近我都是把写好的class文件放在主程序文件夹下的一个scripts文件夹里,直接用importlib.import_module方法貌似不支持带路径的模块。有点难受,最后想了个办法,就是把这个子目录加到系统的环境变量里,就没问题了,在程序里可以用sys模块来完成,这样写:

pwd = sys.path[0]
先用sys.path[0]获取当前脚本所在的绝对路径,然后append到sys.path数组里,即可:
sys.path.append(pwd+”/scripts”)

然后直接用importlib.import_module(‘文件名’)导入就可以了。

这样使用就会比较方便了。

[pwnable.kr]Toddler's Bottle Writeup合集

上一篇

flask整合sqlite3和ORM框架sqlalchemy

下一篇
评论
发表评论 说点什么
还没有评论
2458
0

    浙公网安备 33011002014706号