python实现按行分割文件

本文实例为大家分享了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')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python实现分割文件及合并文件的方法

    本文实例讲述了Python实现分割文件及合并文件的方法.分享给大家供大家参考.具体如下: 分割文件split.py如下: #!/usr/bin/python ########################################################################## # split a file into a set of parts; join.py puts them back together; # this is a customizable ve

  • python实现大文本文件分割

    本文实例为大家分享了python实现大文本文件分割的具体代码,供大家参考,具体内容如下 开发环境 Python 2 实现效果 通过文件拖拽或文件路径输入,实现自定义大文本文件分割. 代码实现 #coding:gbk import os,sys,shutil is_file_exits=False while not is_file_exits: files_list=[] if(len(sys.argv)==1): print('请输入要切割的文件完整路径:') files_path=raw_i

  • Python 逐行分割大txt文件的方法

    代码如下所示: # -*- coding: <encoding name> -*- import io LIMIT = 150000 file_count = 0 url_list = [] with io.open('D:\DB_NEW_bak\DB_NEW_20171009_bak.sql','r',encoding='utf-16') as f: for line in f: url_list.append(line) if len(url_list) < LIMIT: conti

  • python与php实现分割文件代码

    前两天有个朋友说,想实现一个文本文件按照固定行数进行分割成多个文本文件,却不知如何实现.如果数据量小手动分割下就好了,如果数据量很大的话手动完成实在太耗费人力了,也不现实.那么就需要借助脚本去实现.既然有朋友想简单的完成这个任务,那么不如记录下来,给需要的朋友提供方便. 下面我就分别使用python和php进行脚本的实现和操作,当然用其他语言都能实现,大家可根据对语言的熟悉程度进行自主选择,如果有朋友还没有达到编写代码的能力的话,那么最起码对语言环境的使用要会,只要达到这些,就可以完成如下工作.

  • python分割文件的常用方法

    本文大家整理了一些比较好用的关于python分割文件的方法,方法非常的简单实用.分享给大家供大家参考.具体如下: 例子1 指定分割文件大小 配置文件 config.ini: 复制代码 代码如下: [global] #原文件存放目录 dir1=F:\work\python\3595\pyserver\test #新文件存放目录 dir2=F:\work\python\3595\pyserver\test1 python 代码如下: 复制代码 代码如下: #!/usr/bin/python # -*

  • python简单分割文件的方法

    本文实例讲述了python简单分割文件的方法.分享给大家供大家参考.具体如下: 有的网站在上传文件时对文件大小有限制,因此可以将大文件分割成多个小文件再上传. #!/usr/bin/env python def split(filename, size): fp = open(filename, 'rb') i = 0 n = 0 temp = open(filename+'.part'+str(i),'wb') buf = fp.read(1024) while(True): temp.wri

  • python实现大文件分割与合并

    很多时候我们会面临大文件无法加载到内存,或者要传输大文件的问题.这时候就需要考虑将大文件分割为小文件进行处理了. 下面是一种用python分割与合并分件的实现. import os FILE_DIR = os.path.dirname(os.path.abspath(__file__)) #======================================================== # 文件操作 #=======================================

  • python实现将文件夹内的每张图片批量分割成多张

    一.说在前面 需求:有一张长为960,宽为96的图片,需要将其分割成10张96*96的图片并存放在另外一个文件夹下,通过手工分割耗时且不规范,选择python写一个简单的程序完成. 二.源码 # -*- coding: utf-8 -*- """ Created on Thu Aug 23 18:19:09 2018 @author: Administrator """ import os from PIL import Image # 切割图片

  • Python实现模拟分割大文件及多线程处理的方法

    本文实例讲述了Python实现模拟分割大文件及多线程处理的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python #--*-- coding:utf-8 --*-- from random import randint from time import ctime from time import sleep import queue import threading class MyTask(object): """具体的任务类"&qu

  • python实现按行分割文件

    本文实例为大家分享了python实现按行分割文件的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python #--*-- coding:utf-8 --*-- import os class SplitFiles(): """按行分割文件""" def __init__(self, file_name, line_count=200): """初始化要分割的源文件名和分割后的文件行数"

  • python 读取文本文件的行数据,文件.splitlines()的方法

    一般跟踪训练的ground_truth的数据保存在文本文文件中,故每一行的数据为一张图片的标签数据,这个时候读取每一张图片的标签,具体实现如下: test_txt = '/home/zcm/tensorf/siamfc-tf-master/data/Biker/groundtruth.txt' def load_label_set(label_dir): label_folder = open(label_dir, "r") trainlines = label_folder.read

  • Python按行读取文件的简单实现方法

    1:readline() file = open("sample.txt") while 1: line = file.readline() if not line: break pass # do something file.close() 一行一行得从文件读数据,显然比较慢: 不过很省内存: 测试读10M的sample.txt文件,每秒大约读32000行: 2:fileinput import fileinput for line in fileinput.input("

  • Python按行读取文件的实现方法【小文件和大文件读取】

    本文实例讲述了Python按行读取文件的实现方法.分享给大家供大家参考,具体如下: 小文件: #coding=utf-8 #author: walker #date: 2013-12-30 #function: 按行读取小文件 all_lines = [] try: file = open('txt.txt', 'r') all_lines = file.readlines() except IOError as err: print('File error: ' + str(err)) fin

  • C++/Php/Python/Shell 程序按行读取文件或者控制台的实现

    写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下.方便使用 1. C++ 读取文件 #include<stdio.h> #include<string.h> int main(){ const char* in_file = "input_file_name"; const char* out_file = "output_file_name"; FILE *p_in = fopen(in_file, "r"

  • python按行读取文件,去掉每行的换行符\n的实例

    如下所示: for line in file.readlines(): line=line.strip('\n') 以上这篇python按行读取文件,去掉每行的换行符\n的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Python处理文本换行符实例代码 Python按行读取文件的简单实现方法 python去掉行尾的换行符方法 Python实现读取文件最后n行的方法 python去除空格和换行符的实现方法(推荐)

随机推荐