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的urllib库提交WEB表单
Feb 24 Python
跟老齐学Python之不要红头文件(2)
Sep 28 Python
Django中使用group_by的方法
May 26 Python
python中__call__内置函数用法实例
Jun 04 Python
Python如何判断数独是否合法
Sep 08 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 Python
关于Pytorch的MNIST数据集的预处理详解
Jan 10 Python
利用python进行文件操作
Dec 04 Python
python绘制高斯曲线
Feb 19 Python
Python实战之实现简易的学生选课系统
May 25 Python
Python如何使用循环结构和分支结构
Apr 13 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下目前为目最全的CURL中文说明
2010/08/01 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
2014/08/23 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
php ImageMagick windows下安装教程
2015/01/26 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
Nigma vs Liquid BO3 第一场2.14
2021/03/10 DOTA
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
AngularJS实现动态切换样式的方法分析
2018/06/26 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
小程序如何定位所在城市及发起周边搜索
2020/02/11 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
Python根据欧拉角求旋转矩阵的实例
2019/01/28 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
Python 复平面绘图实例
2019/11/21 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
盛大笔试题
2016/11/05 面试题
中层干部竞聘演讲稿
2014/05/15 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
民主评议党员总结
2014/10/20 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
锦旗赠语
2015/06/23 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers