今天学习了python的文件读写功能,练习一下。
'''
功能:将日志的内容按照相机ID进行分组显示
时间:2016-05-26
'''
#打开原日志文件
fp = open(r'log.txt')
#创建新文件用于存放日志整理后的结果
fs = open(r'result.txt','w')
#声明一个字典,用于存放日志里的内容
d = {}
#遍历原日志文件的
for line in fp.readlines():
#如果读取的行内容包含'error',则直接进入下一次循环
if line.find('error') != -1:
continue
#将读取的行按照':'进行分割
r = line.split(':')
#r[3]是相机的ID号
key = r[3]
#判断字典中是否含有该相机ID号,
#如果含有则直接将行添加到值中
#否则增加该相机ID的key和value
if key in d.keys():
d[key].append(line)
else:
d[key] = [line]
#遍历字典并将内容写到新的文件中
for key in d.keys():
fs.writelines('\n' + '*' * 30 + ' ' + key + ' ' + '*' * 30 +'\n')
for i in range(len(d[key])):
s = str(d[key][i])
fs.writelines(s)
#关闭文件
fs.close()
fp.close()
'''
举例:
原日志内容样式:
[2016-05-23 15:50:54]:262147(2903-H-4):总空间:1942,已用:1229,剩余:713, 预计剩余存储7天,ok.
[2016-05-23 15:50:54]:262149(2904-C-5):总空间:2802,已用:0,剩余:2802, 预计剩余存储17天,ok.
[2016-05-23 15:50:55]:262151(2901-H-6):总空间:1737,已用:1195,剩余:542, 预计剩余存储6天,ok.
[2016-05-23 15:50:55]:262153(2902-S-7):总空间:1737,已用:1195,剩余:542, 预计剩余存储6天,ok.
[2016-05-23 15:50:55]:262155(2801-H-8):总空间:1737,已用:1218,剩余:519, 预计剩余存储6天,ok.
[2016-05-23 15:50:55]:262157(2907-C-9):总空间:2802,已用:310,剩余:2492, 预计剩余存储16天,ok.
......
整理后的内容样式:
****************************** 262231(2832-G-46) ******************************
[2016-05-23 15:51:05]:262231(2832-G-46):总空间:1629,已用:1057,剩余:572, 预计剩余存储7天,ok.
[2016-05-23 15:53:57]:262231(2832-G-46):总空间:1629,已用:1057,剩余:572, 预计剩余存储7天,ok.
****************************** 262207(2836-G-34) ******************************
[2016-05-23 15:51:02]:262207(2836-G-34):总空间:1629,已用:1058,剩余:571, 预计剩余存储7天,ok.
[2016-05-23 15:53:54]:262207(2836-G-34):总空间:1629,已用:1058,剩余:571, 预计剩余存储7天,ok.
'''