对python程序员来说,文件拆分变得很容易!
一个python模块,可以将任何大小的文件分成多个块, 在不影响性能的前提下,充分利用内存。这个 模块根据 文件,因此不会将不完整的行写入文件拆分。这个 文件拆分编号从1到n,如下所示
[文件名]_1.ext,[文件名]_2.ext,…,[文件名]_n.ext
操作系统:windows/linux/mac
python版本:python 3
该模块是pypi的一部分,可以很容易地安装。 使用pip
pip install filesplit
通过传递文件路径和 将大小拆分为参数。
from fsplit.filesplit import FileSplit fs = FileSplit(file='path/to/file', splitsize=500000000, output_dir='/path/to/output directory/')
创建实例后,可以调用以下任何方法
方法将文件拆分为多个块。这种方法在 引擎盖下的二进制模式,保持 按原样拆分应足以处理的源 任何文件类型。
fs.split()
在这种情况下,如果文件包含一个头并且您希望该头是 在所有拆分中都可用,您可以选择设置标志 “include_header”为true。默认设置为false。
fs.split(include_header=True)
此外,还可以传递回调函数(可选)[func(str,long, 接受三个参数的long)] 大小(字节)和行计数。回调函数将在 每个文件都被拆分。
def func(f, s, c): print("file: {0}, size: {1}, count: {2}".format(f, s, c)) fs.split(callback=func)
这个方法类似于上面的split()方法,只是 可以显式指定拆分的文件编码。这很有帮助 如果文件块必须具有特定的编码标准。 此方法接受split()方法的两个附加参数