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操作MongoDB基础知识
Nov 01 Python
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
Python从MP3文件获取id3的方法
Jun 15 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
Python3 chardet模块查看编码格式的例子
Aug 14 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
python3 中时间戳、时间、日期的转换和加减操作
Jul 14 Python
python matlab库简单用法讲解
Dec 31 Python
Python 生成短8位唯一id实战教程
Jan 13 Python
python源码剖析之PyObject详解
May 18 Python
Python与C++中梯度方向直方图的实现
Mar 17 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
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
List the Codec Files on a Computer
2007/06/18 Javascript
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
2015/02/02 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
微信小程序网络请求wx.request详解及实例
2017/05/18 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
解决Webpack 热部署检测不到文件变化的问题
2018/02/22 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
解析Python中的二进制位运算符
2015/05/13 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
Python实现公历(阳历)转农历(阴历)的方法示例
2017/08/22 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
医学生自我鉴定范文
2013/11/08 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
单位单身证明样本
2014/10/11 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
职工食堂管理制度
2015/08/06 职场文书
基于redis+lua进行限流的方法
2022/07/23 Redis
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers