2019独角兽企业重金招聘Python工程师标准>>>
公司用的ZkFinger 考勤机进行签到。 想设计一个页面让每个员工都能查看到自己的签到记录。不能让每个员工都装一个客户端。而且也不能叫工程师每天把数据下载下来处理给员工。就写个获取签到记录的工具把数据放到自己的web上给每个用户查看。
1.用python 通过com 接入指纹签到机。
机器上要安装考勤机驱动
from win32com.client import Dispatchzk = 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' , 用户id1,EnrollNumber255,verifymode2015, 年份12,月份21,日期16, 时14,分37,秒0,备用码