Python中CDLL加载dll后,如何释放

在python中调用dll的方法时,使用ctypes的CDLL还是比较方便的,但是刚开始查找释放函数时,发现windll中没有FreeLibrary方法


后发现win32api中含有此方法,将CDLL构造出的实例直接传入,发现报错

仔细查看了下,将CDLL。_handle对象传入到win32api.FreeLibrary可以达到释放的效果


故调用dll的代码采用如下顺序:
dll = CDLL(dllPath)
update_out = UpdateParamStruct()
dll.SeUpdaterGetParam(case.updateType, byref(update_out))

win32api.FreeLibrary(dll._handle)


这样就可以在执行完后,dll文件不会处于占用的状态了~·~  

你可能感兴趣的:(Python,技术总结)