我正在开发一个面部识别和考勤系统,该系统将姓名和时间写入 CSV 文件。为了避免多次“进入”时间记录同一个人,我正在编写一个逻辑来检查姓名是否出现在考勤中已经记录了,如果没有,则记录了出勤率。但是,尽管已经记录了一次,但同名的却一遍又一遍地登录,我无法理解问题所在。
这是代码片段:
在脸部下方绘制一个带有名称的标签
cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255), cv2.FILLED)
font = cv2.FONT_HERSHEY_DUPLEX
cv2.putText(frame, name, (left + 6, bottom - 6), font, 1.0, (255, 255, 255), 1)
#markAttendance(name)
with open('ATTLOG.csv', "r+") as g:
myDatalist = g.readlines()
nameList=[]
for line in myDatalist:
entry = line.split(',')
nameList.append(entry[0])
if name not in nameList:
now=datetime.now()
dtString = now.strftime('%H:%M:%S')
g.writelines(f'\n{name},{dtString}')