python 对文件进行切分行

Posted 道法自然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 对文件进行切分行相关的知识,希望对你有一定的参考价值。

针对配置文件进行切分,重组,每隔30行为一段,进行重新生成功能。

#!/usr/local/python/bin/python
# coding=utf-8
import sys
import re
import os
f = open(config.conf,r)
#判断文件条数
def file_num(filename):
    num_col = 0
    with open(filename,rb) as Fnum:
       while(Fnum.readline() !=‘‘):
          num_col = num_col + 1
    return num_col
   

file_num = file_num(config.conf)
print 文件总条数: + str(file_num)

i = 0 #设置计数器
while i < file_num :              #表示文件行数
    with open(/tmp/newfile/newfile+str(i),w) as f1:
        for j in range(0,30) : #这里设置每个子文件的大小
            if i <= file_num : #这里判断是否已结束,否则最后可能报错
                f1.writelines(f.readline())
                i = i+1
            else:
                break

filepath1=/tmp/newfile/
def eachFile(filepath):
   num = 1
   pathDir = sorted(os.listdir(filepath))
   for allDir in pathDir:
        child = os.path.join(%s%s % (filepath, allDir))
        file_name = child.decode(gbk)
        print file_name
        with open(/tmp/check.py,a+) as f2:
          fopen = open(file_name, r+)
          f2.writelines("# config.py sql" + str(num)  + " begin
")
          count=0
          for line in fopen.readlines(): 
              if count == 0:
                f2.writelines(line)
                count= count+1
              else:
                f2.writelines("UNION ALL " + line)
          f2.writelines("# config.py sql" + str(num)  + " end
")
          f2.writelines("
")
          num = num + 1

eachFile(filepath1)

脚本说明:

目录路径:/tmp

配置文件:config.conf

准备目录:/tmp/newfile/

最终新的配置文件为:check.py

仅此记录我逝去的一天!

以上是关于python 对文件进行切分行的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

python使用上下文对代码片段进行计时,非装饰器

Python二进制方式切分文件并还原

大数据技术使用java实现MapReduce对文件进行切分,分类汇总

Python二进制方式将均等切分文件并还原

python kd树 搜索