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 相关文章推荐
python正则表达式去掉数字中的逗号(python正则匹配逗号)
Dec 25 Python
浅谈插入排序算法在Python程序中的实现及简单改进
May 04 Python
批处理与python代码混合编程的方法
May 19 Python
Python字典简介以及用法详解
Nov 15 Python
Python实现矩阵转置的方法分析
Nov 24 Python
Python编写Windows Service服务程序
Jan 04 Python
Python下载网络文本数据到本地内存的四种实现方法示例
Feb 05 Python
PyQt5固定窗口大小的方法
Jun 18 Python
一行python实现树形结构的方法
Aug 09 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
Python for循环与getitem的关系详解
Jan 02 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
Jun 03 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
php完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
php中OR与|| AND与&amp;&amp;的区别总结
2013/10/26 PHP
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
PHP实现微信提现功能
2018/09/30 PHP
return false;和e.preventDefault();的区别
2010/07/11 Javascript
juqery 学习之四 筛选过滤
2010/11/30 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
使用js获取身份证年龄的示例代码
2020/12/11 Javascript
python中map()与zip()操作方法
2016/02/27 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
python实现Zabbix-API监控
2018/09/17 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
快速创建python 虚拟环境
2020/11/28 Python
python中if嵌套命令实例讲解
2021/02/25 Python
建议书标准格式
2014/03/12 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
大学生交通专业求职信
2014/09/01 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
高中体育课教学反思
2016/02/16 职场文书
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python