文件分割,用于将一个文件产生k份文档(仿linux的split,考虑遇到空行再分开)

原创 2012年03月28日 16:13:46
#!/usr/bin/python

import sys,os,commands

if __name__=='__main__':
    if len(sys.argv)==4 and sys.argv[1]=='help':
        print 'usage:*.py file2seg num_file des_folder'
    else:
        #get total line of the train/test file
        shellcmd='wc -l '+sys.argv[1]
        line_no=commands.getstatusoutput(shellcmd)
        line_no=line_no[1][0:line_no[1].index(' ')]

        f=open(sys.argv[1],'r')

        #calculate the num per file(just about)
        per_file_line=int(line_no)/int(sys.argv[2])
        
        print line_no
        print 'per_file_line about:',per_file_line
        
        current_line_no=0

        file_suffix=0
        
        f_new=open(sys.argv[3]+str(file_suffix)+".txt",'w')

        for line in f:
            current_line_no=current_line_no+1

            new_file_suffix=current_line_no/per_file_line

            if new_file_suffix <> file_suffix:#new file part
                #meet the blank line,good split
                if len(line.strip())==0:
                    f_new.close()
                    f_new=open(sys.argv[3]+str(new_file_suffix)+".txt",'w')
                    file_suffix=new_file_suffix
                #else:
                #    while True:#forward till we find a new blank line
                #        print line     

            f_new.write(line)
        f_new.flush()
        f_new.close()

c++ 整数n分成k份 递归实现

最近学到了递归的用法,在课堂上感受到递归的魅力,课后做了这道练习,怎样把整数n分成k份,一开始,只是统计总情况数,后来改进下,顺便输出所有的情况。 写个博客,记录下。 // ...
  • scnulpc
  • scnulpc
  • 2017年06月14日 22:35
  • 326

将整数n分成k份,且每份不能为空,任意两种分法不能相同(不考虑顺序)【划分问题】

将整数n分成k份,且每份不能为空,任意两种分法不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的: 1,1,5; 1,5,1; 5,1,1。 问有多少种不同的分法。 输入:n,...
  • cacyth
  • cacyth
  • 2016年04月16日 15:34
  • 3104

数的划分(第一篇解题报告)

算法训练 数的划分   时间限制:1.0s   内存限制:256.0MB        问题描述   将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。...
  • a237653639
  • a237653639
  • 2014年03月14日 02:10
  • 696

Linux大文件切割命令split

场景:linux有些大文件处理起来不方便,需要将其分割,发现一个好用的命令。 bash-4.1$ split --help 用法:split [选项]... [输入 [前缀]] 将输入内容拆分为固定大...
  • fjssharpsword
  • fjssharpsword
  • 2017年06月22日 08:35
  • 2691

Linux - 文件的分割(split)与合并(cat)

一、关于     在linux下,切割和合并文件可以使用split和cat命令来实现。 二、文件切割         文件切割模式分为两种:文本文件和二进制模式。     1、文本模式        ...
  • u013379717
  • u013379717
  • 2014年11月25日 22:26
  • 9584

python 对以空行作为分割的块文件进行读取的方法

使用python读取以空行为分块形式的txt文件
  • u010970698
  • u010970698
  • 2017年08月28日 10:10
  • 772

linux大文件分割命令split(学习笔记)

0x01 简介 linux Ubuntu 16.04LTS输入split --help输出如下: Usage: split [OPTION]... [FILE [PREFIX]] Output p...
  • bjtbjt
  • bjtbjt
  • 2016年10月17日 17:19
  • 3936

Linux split --分割文件

功能说明:分割文件。   Split:按指定的行数截断文件 格式: split [-n] file [name] 参数说明: -n: 指定截断的每一文件的长度,不指定缺省为1000行 fi...
  • mosesmo1989
  • mosesmo1989
  • 2016年04月08日 10:58
  • 302

整数N分成K份

 整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如,n=7,k=3则4中分法应为:1,1,5; 1,2,4;  1,3,3;  2,2,3.且下面3中分法被认为是相同的1,1,  ...
  • yq_any
  • yq_any
  • 2009年07月11日 16:37
  • 838

Linux系统下使用split命令分割大文件

我想给一个朋友传一个大视频,有几百M,尝试多种传输办法失败后,最后想到的是把视频切开一片片“邮递”过去给他,让它自己组装起来吧。   [root@pps public_rw]# ls -lh Re...
  • wenwenxiong
  • wenwenxiong
  • 2015年09月29日 12:10
  • 1013
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文件分割,用于将一个文件产生k份文档(仿linux的split,考虑遇到空行再分开)
举报原因:
原因补充:

(最多只允许输入30个字)