基于python实现对文件进行切分行


Posted in Python onApril 26, 2020

针对配置文件进行切分,重组,每隔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\n")
     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\n")
     f2.writelines("\n")
     num = num + 1

eachFile(filepath1)

脚本说明:

目录路径:/tmp

配置文件:config.conf

准备目录:/tmp/newfile/

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
python实现多线程网页下载器
Apr 15 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
Oct 28 Python
python scipy求解非线性方程的方法(fsolve/root)
Nov 12 Python
python的set处理二维数组转一维数组的方法示例
May 31 Python
python set集合使用方法解析
Nov 05 Python
Python如何把多个PDF文件合并代码实例
Feb 13 Python
Python Flask框架实现简单加法工具过程解析
Jun 03 Python
Python Sqlalchemy如何实现select for update
Oct 12 Python
详解pandas映射与数据转换
Jan 22 Python
解析目标检测之IoU
Jun 26 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
Apr 26 #Python
简单了解Java Netty Reactor三种线程模型
Apr 26 #Python
Python Selenium截图功能实现代码
Apr 26 #Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
Apr 26 #Python
Python实现密钥密码(加解密)实例详解
Apr 26 #Python
Python基于QQ邮箱实现SSL发送
Apr 26 #Python
Eclipse配置python默认头过程图解
Apr 26 #Python
You might like
通过html表格发电子邮件
2006/10/09 PHP
PHP数组操作汇总 php数组的使用技巧
2011/07/17 PHP
介绍一些PHP判断变量的函数
2012/04/24 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
2018/05/31 PHP
laravel实现上传图片的两种方式小结
2019/10/12 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
JS获取IP、MAC和主机名的五种方法
2013/11/14 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
2017/02/22 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
JS基于for语句编写的九九乘法表示例
2018/01/04 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
Python计算已经过去多少个周末的方法
2015/07/25 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
python2 对excel表格操作完整示例
2020/02/23 Python
办理退休介绍信
2014/01/09 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
企业工会工作总结2015
2015/05/13 职场文书
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL