基于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 相关文章推荐
以windows service方式运行Python程序的方法
Jun 03 Python
Python 功能和特点(新手必学)
Dec 30 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
Python中%是什么意思?python中百分号如何使用?
Mar 20 Python
python实现zabbix发送短信脚本
Sep 17 Python
python中使用 xlwt 操作excel的常见方法与问题
Jan 13 Python
Django应用程序入口WSGIHandler源码解析
Aug 05 Python
python tkinter图形界面代码统计工具(更新)
Sep 18 Python
python 读写文件包含多种编码格式的解决方式
Dec 20 Python
python代码xml转txt实例
Mar 10 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
Feb 04 Python
Python Numpy库的超详细教程
Apr 06 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
如何使用PHP往windows中添加用户
2006/12/06 PHP
php函数连续调用实例分析
2015/07/30 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
javascript 写类方式之九
2009/07/05 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
js实现倒计时时钟的示例代码
2013/12/17 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
[08:40]Navi Vs Newbee
2018/06/07 DOTA
Python中的探索性数据分析(功能式)
2017/12/22 Python
在Python中,不用while和for循环遍历列表的实例
2019/02/20 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
Python实现中值滤波去噪方式
2019/12/18 Python
pandas的resample重采样的使用
2020/04/24 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
Python 如何创建一个线程池
2020/07/28 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
大学生毕业自我鉴定
2013/11/06 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
暑期辅导班宣传单
2015/07/14 职场文书
Pillow图像处理库安装及使用
2022/04/12 Python
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers