python实现按行分割文件


Posted in Python onJuly 22, 2019

本文实例为大家分享了python实现按行分割文件的具体代码,供大家参考,具体内容如下

#!/usr/bin/env python
#--*-- coding:utf-8 --*--
 
import os
 
class SplitFiles():
 """按行分割文件"""
 
 def __init__(self, file_name, line_count=200):
 """初始化要分割的源文件名和分割后的文件行数"""
 self.file_name = file_name
 self.line_count = line_count
 
 def split_file(self):
 if self.file_name and os.path.exists(self.file_name):
 try:
 with open(self.file_name) as f : # 使用with读文件
  temp_count = 0
  temp_content = []
  part_num = 1
  for line in f:
  if temp_count < self.line_count:
  temp_count += 1
  else :
  self.write_file(part_num, temp_content)
  part_num += 1
  temp_count = 1
  temp_content = []
  temp_content.append(line)
  else : # 正常结束循环后将剩余的内容写入新文件中
  self.write_file(part_num, temp_content)
 
 except IOError as err:
 print(err)
 else:
 print("%s is not a validate file" % self.file_name)
 
 def get_part_file_name(self, part_num):
 """"获取分割后的文件名称:在源文件相同目录下建立临时文件夹temp_part_file,然后将分割后的文件放到该路径下"""
 temp_path = os.path.dirname(self.file_name) # 获取文件的路径(不含文件名)
 part_file_name = temp_path + "temp_part_file"
 if not os.path.exists(temp_path) : # 如果临时目录不存在则创建
 os.makedirs(temp_path)
 part_file_name += os.sep + "temp_file_" + str(part_num) + ".part"
 return part_file_name
 
 def write_file(self, part_num, *line_content):
 """将按行分割后的内容写入相应的分割文件中"""
 part_file_name = self.get_part_file_name(part_num)
 print(line_content)
 try :
 with open(part_file_name, "w") as part_file:
 part_file.writelines(line_content[0])
 except IOError as err:
 print(err)
 
if __name__ == "__main__":
 sf = SplitFiles(r"F:\multiple_thread_read_file.txt")
 sf.split_file()

小编再为大家分享一段代码:

将文本文件按照指定的行数分割成数个小的文本文件

#! /usr/bin/env python
# -*- coding: utf-8 -*-
 
LIMIT=1000
file_count=0
url_list=[]
 
with open("123.txt") as f:
 for line in f:
 url_list.append(line)
 if len(url_list)<LIMIT:
 continue
 #数据达到LIMIT
 file_name=str(file_count)+".txt"
 with open(file_name,'w') as file:
 for url in url_list[:-1]:
 #print(url)
 file.write(url)
 file.write(url_list[-1].strip())
 url_list=[]
 file_count+=1
if url_list:
 file_name=str(file_count)+".txt"
 with open(file_name,'w') as file:
 for url in url_list:
 file.write(url)
print('done')

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

Python 相关文章推荐
以Flask为例讲解Python的框架的使用方法
Apr 29 Python
Python合并字典键值并去除重复元素的实例
Dec 18 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
Python爬虫框架Scrapy实例代码
Mar 04 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
python读取文本中的坐标方法
Oct 14 Python
python pandas生成时间列表
Jun 29 Python
详解Python图像处理库Pillow常用使用方法
Sep 02 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
如何使用pdb进行Python调试
Jun 30 Python
python UDP(udp)协议发送和接收的实例
Jul 22 #Python
linux环境下Django的安装配置详解
Jul 22 #Python
python判断一个对象是否可迭代的例子
Jul 22 #Python
树莓派使用python-librtmp实现rtmp推流h264的方法
Jul 22 #Python
python实现大文件分割与合并
Jul 22 #Python
cProfile Python性能分析工具使用详解
Jul 22 #Python
python实现大文本文件分割
Jul 22 #Python
You might like
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
使用PHP开发留言板功能
2019/11/19 PHP
可以用来调试JavaScript错误的解决方案
2010/08/07 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
清除输入框内的空格
2016/12/21 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
EsLint入门学习教程
2017/02/17 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
2019/05/21 Javascript
python如何在终端里面显示一张图片
2016/08/17 Python
Python中模块与包有相同名字的处理方法
2017/05/05 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
python利用tkinter实现图片格式转换的示例
2020/09/28 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
MySQL面试题
2014/01/12 面试题
ddl,dml和dcl的含义
2016/05/08 面试题
自荐信格式
2013/12/01 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
销售2014年度工作总结
2014/12/08 职场文书
安全员岗位职责
2015/02/10 职场文书