公司用的ZkFinger 考勤机进行签到。 想设计一个页面让每个员工都能查看到自己的签到记录。不能让每个员工都装一个客户端。而且也不能叫工程师每天把数据下载下来处理给员工。就写个获取签到记录的工具把数据放到自己的web上给每个用户查看。
1.用python 通过com 接入指纹签到机。
机器上要安装考勤机驱动
from win32com.client import Dispatch zk = Dispatch("zkemkeeper.ZKEM") zk.Connect_Net("172.xx.xx.xx", 4370) # 连接
模块 win32com 要去下载相关包
zk.RegEvent(2, 65535) # Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
2. 获取所有签到数据
print 'read' zk.EnableDevice(2, False) #disable the device if zk.ReadGeneralLogData(2): print 'start' while True: data = zk.SSR_GetGeneralLogData(2) if data[0]: print data else: break zk.EnableDevice(2, True)#enable the device zk.Disconnect()
输出结果:
(True, u'1', 1, 255, 2015, 12, 21, 16, 14, 37, 0) (True, u'1', 1, 255, 2015, 12, 21, 16, 19, 14, 0) (True, u'1', 1, 255, 2015, 12, 21, 16, 19, 55, 0) (True, u'1', 1, 255, 2015, 12, 21, 16, 30, 16, 0) (True, u'1', 1, 255, 2015, 12, 21, 17, 12, 27, 0) (True, u'36', 1, 255, 2015, 12, 21, 18, 19, 28, 0) (True, u'36', 1, 255, 2015, 12, 21, 18, 37, 19, 0) (True, u'36', 1, 255, 2015, 12, 21, 18, 53, 6, 0) (True, u'36', 1, 255, 2015, 12, 22, 11, 3, 21, 0) (True, u'36', 1, 255, 2015, 12, 22, 11, 34, 7, 0) (True, u'36', 1, 255, 2015, 12, 22, 11, 37, 37, 0) # 结果说明: True, 有数据, u'x' , 用户id 1,EnrollNumber 255,verifymode 2015, 年份 12,月份 21,日期 16, 时 14,分 37,秒 0,备用码