基于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设计模式大全
Jun 27 Python
简介Python的collections模块中defaultdict类型的用法
Jul 07 Python
Python爬取三国演义的实现方法
Sep 12 Python
Python随机数用法实例详解【基于random模块】
Apr 18 Python
Pycharm学习教程(4) Python解释器的相关配置
May 03 Python
Python 查看文件的读写权限方法
Jan 23 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
Aug 15 Python
Python上下文管理器用法及实例解析
Nov 11 Python
python对Excel按条件进行内容补充(推荐)
Nov 24 Python
Python qrcode 生成一个二维码的实例详解
Feb 12 Python
python实现简单的名片管理系统
Apr 26 Python
Python selenium模拟网页点击爬虫交管12123违章数据
May 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
一个改进的UBB类
2006/10/09 PHP
php数组添加元素方法小结
2014/12/20 PHP
php+mysql实现无限级分类
2015/11/11 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
JS实现select选中option触发事件操作示例
2018/07/13 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
javascript自定义右键菜单插件
2019/12/16 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
Python标准库之循环器(itertools)介绍
2014/11/25 Python
Python爬取京东的商品分类与链接
2016/08/26 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
python for循环remove同一个list过程解析
2019/08/14 Python
python 实现兔子生兔子示例
2019/11/21 Python
python实现井字棋小游戏
2020/03/04 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
2020/10/29 Python
Python 实现进度条的六种方式
2021/01/06 Python
教师师德教育的自我评价
2013/10/31 职场文书
会计主管岗位职责范文
2013/11/08 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
庐山导游词
2015/02/03 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
python3 实现mysql数据库连接池的示例代码
2021/04/17 Python
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android