首页 > 自动化运维 > python > python 大日志切割
2016
07-21

python 大日志切割

此脚本是分割日志的,把日志分割成很多的小块,然后在对每一小块做分析。

[root@localhost ~]# cat split.py 
#!/usr/bin/python
#coding: utf-8
from time import ctime
def splitFile(fileLocation, targetFoler):
   file_handler = open(fileLocation, 'r')
   # 定义每个小文件的行数
   block_size = 100
   line = file_handler.readline()
   temp = []
   countFile = 1
   count = len(open(r"%s" % fileLocation,'rU').readlines())
   while line:
       for i in range(block_size):
	# 到最后一行的时候将temp列表中内容写入到文件中
           if i == (block_size-1):
               # write block to small files
               file_writer = open(targetFoler + "file_"+str(countFile)+".txt", 'a+')
               file_writer.writelines(temp)
               file_writer.close()
               temp = []
               print "  file " + str(countFile) + " generated at: " + str(ctime())
               countFile = countFile + 1
           else:
               temp.append(file_handler.readline())
	#切割文件数量
       if countFile == count/(block_size -1) + 2:
               break;

   file_handler.close()

if __name__ == '__main__':
   print "Start At: " + str(ctime())
   splitFile("/root/log.txt", "/tmp/")

----------------------------------------------


最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复