`
chakey
  • 浏览: 364468 次
  • 性别: Icon_minigender_1
  • 来自: 水星
社区版块
存档分类
最新评论

将指定的文件分割成几个大小和条数近似相同的文件

阅读更多


Linux的split命令可以用来分割文件

  -a, --suffix-length=N   use suffixes of length N (default 2)
  -b, --bytes=SIZE        put SIZE bytes per output file
  -C, --line-bytes=SIZE   put at most SIZE bytes of lines per output file//这个命令在保证数据行完整性的前提下,按大小分割文件
  -d, --numeric-suffixes  use numeric suffixes instead of alphabetic
  -l, --lines=NUMBER      put NUMBER lines per output file
      --verbose           print a diagnostic to standard error just
                            before each output file is opened
      --help     display this help and exit
      --version  output version information and exit

SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.

可以用一个简单的python脚本将指定的文件分割成几个大小和条数近似相同的文件

代码如下:
import os

def _split_file(filepath,theFileNumber):
     filesize = __file_size(filepath)
     slavelength = theFileNumber
     splitsize = filesize/slavelength + 1000 //这里大小加上1000个字节,保证最后一个分割的文件不会丢数据
     command = " split -C %d %s %s%s" % (splitsize, filepath, prefix,filepath[filepath.rfind("/")+1:]) //其实使用的就是liunx的split
     print command
     os.system(command)

def __file_size(filepath):
     statinfo=os.stat(filepath)

     return statinfo.st_size 


if __name__ == "__main__":
      dataFilePath="/data/big_file.log"
       _split_file(dataFilePath,4)

 

分享到:
评论

相关推荐

    PDMS曲面STL文件格式研究.pdf

    STL文件通过将3D模型分割成许多小的三角形平面来近似表示3D模型的表面,这种近似方法能够有效地减少数据量并保持模型的细节。 #### 二、STL文件的数据结构 STL文件有两种主要的存储方式:二进制格式和ASCII格式。...

    delphi 开发经验技巧宝典源码

    0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 ...

    delphi 开发经验技巧宝典源码06

    0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 ...

    C程序范例宝典(基础代码详解)

    实例199 文件分割 284 实例200 文件加密 286 第7章 库函数调用 289 7.1 时间转换和操作函数 290 实例201 固定格式输出当前时间 290 实例202 当前时间转换 291 实例203 显示程序运行时间 292 实例204...

    《你必须知道的495个C语言问题》

    1.23 能否声明和传入数组大小一致的局部数组,或者由其他参数指定大小的参数数组? 13 1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 13 声明问题 14 ...

    fireworks8中文版教程之十一切片与热点

    例如,在设计一个复杂的导航栏时,我们可以先使用切片工具将整个导航栏分割成几个部分,然后再为每个部分添加不同的热点链接。这样不仅能够保持原始图像的完整性,还能实现高效的页面布局和用户交互。 总之,掌握好...

    2meanshiftprogram.rar_mean_mean shift 平滑_平滑

    Mean Shift 算法的步骤主要包括以下几个部分: 1. **数据采样**:首先,我们需要从图像或其他数据源中获取样本点。在图像处理中,样本点可以是像素的颜色值。 2. **定义窗口和 bandwidth**:窗口是算法搜索邻域的...

    你必须知道的495个C语言问题

    6.22 如何在一个文件中判断声明为extern的数组的大小(例如,数组定义和大小在另一个文件中)?sizeof操作符似乎不行。 6.23 sizeof返回的大小是以字节计算的,怎样才能判断数组中有多少个元素呢? 第7章 内存...

    自适应Simpson积分算法(MATLAB及C++实现代码).pdf

    在给定的MATLAB和C++代码中,我们看到以下几个主要部分: 1. **积分函数**:在C++中定义为`f(double x)`,在MATLAB中定义为`f(x)`。这个函数表示被积函数,即我们需要积分的数学表达式。在这个例子中,被积函数是`f...

    tesseral2-d

    - **文档组成**: Tesseral2-D软件包的文档分为几个部分,每个部分详细介绍了不同的功能和模块。这有助于用户根据自己的需求选择阅读相关的文档内容。 #### 1.2 你能用Tesseral2-D软件包做什么 - **地震记录模拟**:...

    K-means学习算法

    9. **图像处理**:在图像处理中,K-means可以用于颜色量化,将图像的颜色空间减少到K个主要颜色,从而降低图像存储和处理的复杂性。 10. **性能优化**:对于大规模数据集,可以使用mini-batch K-means,每次迭代只...

    高等数学公式

    - **复合函数的链式法则**:如果一个函数是由几个简单函数复合而成的,则其导数可以通过这些简单函数的导数乘积来表示。 - **乘法法则和除法法则**:涉及两个或多个函数相乘或相除时导数的计算方法。 #### 基本积分...

    ACM_算法模板

    根据给定文件的信息,我们可以将主要内容分为以下几个部分:常用函数与STL、重要公式与定理、大数模板与字符读入、数论算法、图论算法、几何算法以及专题讨论。 ### 第一部分:常用函数与STL 这部分主要介绍了一些...

    计算机面试资料总结

    - **几个问题**:涉及树的各种常见问题及其解决方案。 - **完全二叉树**:每个节点最多有两个子节点,且所有叶子节点都在最底层或次底层。 - **次优查找树**:次优查找树是查找效率仅次于最优二叉树的二叉树。 - **...

    matlab教程电子书版

    - **2.4.2 多维数组的创建**:通过指定维度大小来创建多维数组。 - **2.4.3 数组的代数运算**:支持多种类型的数学运算。 - **2.4.4 数组的关系与逻辑运算**:用于比较数组元素或进行逻辑判断。 - **2.4.5 数组和...

Global site tag (gtag.js) - Google Analytics