2020-10-12

python做实验处理一些数据
需求:遍历一个文件下的所有文件并且筛选出.json文件,找出其中的groundtruth文件来进行读取写入.txt文件中

import os
import json

#处理每一个json文件读取生成groundtruth文件
def getgroundtruth(childfile):
    f = open(childfile, 'r')
    content = f.read()
    a = json.loads(content)
    print(a[0]['seqName'])
    #print(a[0]['res'])         #读取字典中的res文件并且将其写入.txt文件中
    f.close()
    filename = a[0]['seqName']+'_'+a[0]['tracker']+'.txt'; 
    t=''
    with open (filename,'w') as q:        #打开文本文件,a[0][res]是一个总列表,i总列表中的每一个元素
        for i in a[0]['res']:              
            for e in range(len(a[0]['res'][0])):  #e为小列表的每一个小元素,遍历每一个小列表的元素求值
                t=t+str(i[e])+' '
            q.write(t.strip(' '))
            q.write('\n')
            t=''
#筛选文件目录下的文件并且读取到json文件,返回xxx.json文件名
def file_name(file_dir):   
    FileList=[]   
    for root, dirs, files in os.walk(file_dir):     #os.walk方法
        for file in files:  
            if os.path.splitext(file)[1] == '.json':     #分离后缀名
                FileList.append(file)                  #取后缀名
    return FileList  

#测试路径
file_dir='D:\\matlab2016\\bin\\tracker_benchmark_v1.0\\trackers\\MDNet_vot-otb\\MDNet_vot-otb'
file_list=file_name(file_dir)      
#获得所有后缀名为.json文件
for fliename in file_list:
    getgroundtruth(fliename)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值