【发布时间】:2018-06-13 15:17:02
【问题描述】:
我正在从事人脸识别项目,并希望将检测到的人脸的日志写入 JSON 文件。我正在使用以下代码。
import os
import json
from datetime import datetime,date
now = datetime.strftime(datetime.now(), '%Y%m%d')
now_str = str(now)
def write_logs(time,date,name,accuracy,direction):
a = []
entry = {'time':time,'name':name,'accuracy':accuracy,'direction':direction}
if not os.path.isfile('./log'+now_str+'.json'):
a.append(entry)
with open('./log'+now_str+'.json', mode='a+') as f:
json.dump(a,f, indent=3)
return a
输出是:
[
{
"time": "13/06/2018 - 20:39:07",
"name": "Rajkiran",
"accuracy": "97.22941",
"direction": "default"
}
]
然而,我所期待的是:
[
{
"time": "13/06/2018 - 20:39:07",
"name": "Rajkiran",
"accuracy": "97.22941",
"direction": "default"
},
{
"time": "13/06/2018 - 20:39:07",
"name": "Rajkiran",
"accuracy": "97.22941",
"direction": "default"
},
{
"time": "13/06/2018 - 20:39:07",
"name": "Rajkiran",
"accuracy": "97.22941",
"direction": "default"
}
]
应该连续添加 JSON 数组,直到我的算法识别出当天的面孔。但是,如前所述,它只写入一次。
【问题讨论】:
-
代码的 sn-p 从哪里获取函数 write_logs 的值是:logger.write_logs(datetime.strftime(datetime.now(), '%d/%m/ %Y - %H:%M:%S'),str(datetime.now()),unique,str(mean),'default')
标签: python json python-3.x