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之有容乃大的list(1)
Sep 14 Python
Python下调用Linux的Shell命令的方法
Jun 12 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
Jul 06 Python
Python爬取qq空间说说的实例代码
Aug 17 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 Python
Python如何实现转换URL详解
Jul 02 Python
Python实现图片识别加翻译功能
Dec 26 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
Jan 20 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
Python基于yaml文件配置logging日志过程解析
Jun 23 Python
python3.4中清屏的处理方法
Jul 06 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
php中的一个中文字符串截取函数
2007/02/14 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
2012/02/03 Javascript
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
jQuery文本框(input textare)事件绑定方法教程
2013/04/24 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
CSS javascript 结合实现悬浮固定菜单效果
2015/08/23 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
python在不同层级目录import模块的方法
2016/01/31 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
python实现媒体播放器功能
2018/02/11 Python
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
Python中collections模块的基本使用教程
2018/12/07 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
wxpython实现按钮切换界面的方法
2019/11/19 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
平面设计自荐信
2013/10/07 职场文书
活动总结怎么写
2014/04/28 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
红楼梦读书笔记
2015/06/25 职场文书
初二物理教学反思
2016/02/19 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸
什么是css原子化,有什么用?
2022/04/24 HTML / CSS