import os import ctypes import datetime import time #获取所有的库文件到一个列表 path = "/home/caobin/chike/chike/CH_HCNetSDK_V5.2.7.4_build20170606_Linux64/lib/" so_list = [] def add_so(path,so_list): files = os.listdir(path) for file in files: if not os.path.isdir(path+file): if file.endswith(".so"): so_list.append(path+file) else: add_so(path+file+"/",so_list) add_so(path,so_list) for lib in so_list: print(lib) lUserID = 0 m_lAlarmHandle = 0 def callCpp(func_name,*args): for so_lib in so_list: # print(so_lib) try: lib = ctypes.cdll.LoadLibrary(so_lib) try: value = eval("lib.%s"%func_name)(*args) print("调用的库:"+so_lib) print("执行成功,返回值:"+str(value)) return value except: continue except: print("库文件载入失败:"+so_lib) continue print("没有找到接口!") return False #定义结构体 class LPNET_DVR_DEVICEINFO_V30(ctypes.Structure): _fields_ = [ ("sSerialNumber", ctypes.c_byte * 48), ("byAlarmInPortNum", ctypes.c_byte), ("byAlarmOutPortNum", ctypes.c_byte), ("byDiskNum", ctypes.c_byte), ("byDVRType", ctypes.c_byte), ("byChanNum", ctypes.c_byte), ("byStartChan", ctypes.c_byte), ("byAudioChanNum", ctypes.c_byte), ("byIPChanNum", ctypes.c_byte), ("byZeroChanNum", ctypes.c_byte), ("byMainProto", ctypes.c_byte), ("bySubProto", ctypes.c_byte), ("bySupport", ctypes.c_byte), ("bySupport1", ctypes.c_byte), ("bySupport2", ctypes.c_byte), ("wDevType", ctypes.c_uint16), ("
python 调用海康SDK,登录,设置回调,布防,撤防,注销以及释放SDK
最新推荐文章于 2024-06-04 09:39:49 发布