1、python文件读写练习

今天学习了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.

'''



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值