基于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中的几种数据类型
Jan 02 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
python中 chr unichr ord函数的实例详解
Aug 06 Python
Python3中条件控制、循环与函数的简易教程
Nov 21 Python
Python实现的计数排序算法示例
Nov 29 Python
PyQt5每天必学之切换按钮
Aug 20 Python
基于Python List的赋值方法
Jun 23 Python
django foreignkey外键使用的例子 相当于left join
Aug 06 Python
Django权限设置及验证方式
May 13 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
python实现简单遗传算法
Sep 18 Python
Python3+Django get/post请求实现教程详解
Feb 16 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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
在jquery中处理带有命名空间的XML数据
2011/06/13 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
详解Python中with语句的用法
2015/04/15 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
python super用法及原理详解
2020/01/20 Python
Django DRF路由与扩展功能的实现
2020/06/03 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
中职生自荐信
2013/10/13 职场文书
门卫岗位职责
2013/11/15 职场文书
安全生产汇报材料
2014/02/17 职场文书
名人演讲稿范文
2014/09/16 职场文书
2014年组织部工作总结
2014/11/14 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
600字作文之感受大自然
2019/11/27 职场文书
Nginx配置使用详解
2022/07/07 Servers