关闭

7、根据存储日志分析每个通道的存储码率值

123人阅读 评论(0) 收藏 举报
分类:
'''
   功能:根据存储日志自动获取每个通道存储的码率,并按照码率的整数位进行比较
   时间:2016-05-30
'''
#coding=gbk
import codecs
f = codecs.open(r'C:\Users\Administrator\Desktop\videosave91\videosave.log','r','utf-8')
fp = open(r'C:\Users\Administrator\Desktop\videosave91\result.txt','a')

d = {}
#遍历日志的每一行
for line in f.readlines():
    #判断行中是否含有'write BYTE rate:'字符串,如果含有则进行分析,否则不进行分析
    if line.find('write BYTE rate:') != -1:
        #获取'channel:'的index号
        index1 = line.index('channel:')
        #通过index1得到相机编号
        channelID = line[index1 + 8 : index1 + 14]
        #获取'write BYTE rate:'的index号
        index2 = line.index('write BYTE rate:')
        #通过相机的码率大小
        rate = line[index2 + 16 : index2 + 23]


        #将获取的相机编号和码率存入字典中
        if channelID in d.keys():
            temp1 = channelID.split('.')
            temp2 = rate.split('.')
            #将行中码率的整数位与字典中保存的码率整数位进行比较,用大的替换小的
            if float(temp2[0]) > float(temp1[0]):
                d[channelID] = rate
        else:
            d[channelID] = rate
            
#遍历字典,并将结果保存到文件中
for i in d.keys():
    fp.writelines(i + ',' + d[i] + '\n')    

fp.close()
f.close()
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场