大文件不断行切割

#! /usr/bin/python
#! -*- coding:utf-8 -*-
import os
def SplitFile(cnt):
  path=‘e:\data‘
  filename=path+‘\\qunti_deal.txt‘
  os.chdir(path)
  i=0
  n=0
  size=os.path.getsize(filename)/1024/cnt
  print size
  temp = open(filename+‘.part‘+str(i),‘w‘)
  f=open(filename,‘r‘)
  while True:
    buf = f.read(1024)
    if buf==‘‘:
      print filename+‘.part‘+str(i)+‘;‘
      temp.close()
      f.close()
      return
    n+=1
    if n==size:
      t=buf.rfind(‘\n‘)+1
      temp.write(buf[:t])
      n=0
      print filename+‘.part‘+str(i)+‘;‘
      i+=1
      temp.close()
      temp=open(filename+‘.part‘+str(i),‘w‘)
      temp.write(buf[t:])
      continue
    temp.write(buf)
if __name__==‘__main__‘:
	SplitFile(int(raw_input(‘#files:‘)))
时间: 2024-08-24 03:10:07

大文件不断行切割的相关文章

查看大文件的行数(windows 和 Ubuntu)

Windows 在Windows平台上,我们可以使用很多工具来打开文件,查看其行数,最常用的就是MS Office Word.记事本等.在MS-DOS下,我们还可以使用edit模式来打开文件,但其最多能打开65280行数据.这里推荐一个工具notepad++,这个工具能打开并显示更多行的数据,并且自动显示行号. Ubuntu 在Ubuntu平台上,我们可以使用 wc 命令在不打开文件的情况下,来统计文件的信息. 比如: wc -l myfile.txt 统计文件的行数 wc -m myfile.

大文件不断行分割

#! /usr/bin/python #! -*- coding:utf-8 -*- import os def SplitFile(cnt): path='e:\data' filename=path+'\\qunti_deal.txt' os.chdir(path) i=0 n=0 size=os.path.getsize(filename)/1024/cnt print size temp = open(filename+'.part'+str(i),'w') f=open(filenam

大文件按行分离脚本

1 #!/bin/bash 2 #大文件按行数分离成若干小文件脚本 3 4 con_data='db2 connect to db_edp' 5 con_time='db2 "values current timestamp"' 6 con_reset='db2 connect reset' 7 #将要分离的文件名写到此处,其它地方不要改动 8 clear_file=pdm_20160512.txt 9 10 echo $con_data > lianjie.txt 11 ech

Linux下的split 命令(将一个大文件根据行数平均分成若干个小文件)

将一个大文件分成若干个小文件方法 例如将一个BLM.txt文件分成前缀为 BLM_ 的1000个小文件,后缀为系数形式,且后缀为4位数字形式 先利用 wc -l BLM.txt       读出 BLM.txt 文件一共有多少行 再利用 split 命令 split -l 2482 ../BLM/BLM.txt -d -a 4 BLM_ 将 文件 BLM.txt 分成若干个小文件,每个文件2482行(-l 2482),文件前缀为BLM_ ,系数不是字母而是数字(-d),后缀系数为四位数(-a 4

java实现把一个大文件切割成N个固定大小的文件

//java实现把一个大文件切割成N个固定大小的文件 package com.johnny.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; public class FenGeFile { p

shell入门-tr替换字符和split切割大文件

命令:tr 说明:替换字符 格式tr ‘原字符’ ‘新字符’ 可以是范围字符,指定字符 命令:split 选项:-b 50m 1.txt  根据大小分割 单位是b不用单位,单位是兆加m -l 100  1.txt    根据行数分割 说明:切割大文件,源文件不会消失, [[email protected] ~]# ls *.txt1.txt [2345].txt 2.txt 999.txt c.txt D.txt[[email protected] ~]# ls *.txt |tr 'a-z'

Ajax大文件切割传输

文件上传服务器的大小是一定的,所以大文件可以切割成小文件,依次 传输,然后再拼接切割文件上传,用同步方式传输,为了防止异步传输 中多个块同时传输,文件拼接错误,导致文件损坏 前端页面 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Ajax上传文件进度条显示</title> <script type

PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)

CSV大文件的读取已经在前面讲述过了(PHP按行读取.处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题. 1.如何快速获取CSV大文件的总行数? 办法一:直接获取文件内容,使用换行符进行拆分得出总行数,这种办法对小文件可行,处理大文件时不可行:办法二:使用fgets一行一行遍历,得出总行数,这种办法比办法一好一些,但大文件仍有超时的可能:办法三:借助SplFileObject类,直接将指针定位到文件末尾,通过SplFileObject::key方法获取总行数,这种办

[获取行数]php读取大文件提供性能的方法,PHP的stream_get_line函数读取大文件获取文件的行数的方...

背景: 下面是获取文件的行数的方法: 一个文件如果知道有几行的话,就可以控制获取一定的行数的数据,然后放入数据库.这样不管的读取大文件的性能,还是写入数据库的性能,都能得到很大的提高了. 下面是获取文件的行数的方法 $temp_file = 'error.log'; $fp = fopen($temp_file ,'r') or die("open file failure!"); $total_line = 0; if($fp){     /* 获取文件的一行内容,注意:需要php5