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实现下载指定网址所有图片的方法
Aug 08 Python
python3.x 将byte转成字符串的方法
Jul 17 Python
Python线程同步的实现代码
Oct 03 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
Dec 12 Python
深入浅析Python中的迭代器
Jun 04 Python
python实现翻转棋游戏(othello)
Jul 29 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
Sep 20 Python
python如何将两个txt文件内容合并
Oct 18 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
python实现按日期归档文件
Jan 30 Python
Pycharm 跳转回之前所在页面的操作
Feb 05 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编程与应用
2006/10/09 PHP
php实现给图片加灰色半透明效果的方法
2014/10/20 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
2008/11/24 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
vue实现搜索功能
2019/05/28 Javascript
[47:42]完美世界DOTA2联赛PWL S2 GXR vs Ink 第一场 11.19
2020/11/20 DOTA
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
python打开使用的方法
2019/09/30 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
python中if及if-else如何使用
2020/06/02 Python
英国网上花店:Bunches
2016/11/29 全球购物
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
医学护理系毕业生求职信
2013/10/01 职场文书
中班中秋节活动反思
2014/02/18 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
幼儿园教师师德师风承诺书
2015/04/28 职场文书
三八红旗手主要事迹材料
2015/11/04 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
一篇文章告诉你如何实现Vue前端分页和后端分页
2022/02/18 Vue.js
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫