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编写一个简单的Lisp解释器的教程
Apr 03 Python
python学习数据结构实例代码
May 11 Python
收藏整理的一些Python常用方法和技巧
May 18 Python
Python进阶-函数默认参数(详解)
May 18 Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 Python
python读取txt文件中特定位置字符的方法
Dec 24 Python
详解python调用cmd命令三种方法
Jul 08 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
TensorFLow 变量命名空间实例
Feb 11 Python
python获得命令行输入的参数的两种方式
Nov 02 Python
用python爬虫批量下载pdf的实现
Dec 01 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 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 fsockopen写的HTTP下载的类
2007/02/22 PHP
Discuz板块横排显示图片的实现方法
2007/05/28 PHP
zend Framework中的Layout(模块化得布局)详解
2013/06/28 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
PHP中file_put_contents追加和换行的实现方法
2017/04/01 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
javascript学习网址备忘
2007/05/29 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
python海龟绘图实例教程
2014/07/24 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
Python笔记之代理模式
2019/11/20 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
英国最大的滑板品牌选择:Route One
2019/09/22 全球购物
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
营销与策划个人求职信
2013/09/22 职场文书
经典禁毒标语
2014/06/16 职场文书
团日活动总结模板
2014/06/25 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python