在python中按字节将文本文件拆分为较小的文件

时间:2018-11-14 06:19:46

标签: python-3.x text

按大小(以字节为单位)将大型文本文件拆分为较小的文件时遇到问题 例如文本文件大小为30kB,我想将其拆分为多个文件,每个文件大小为5kB。

我进行了很多搜索,但发现几乎可以按行分割文件。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果您希望将其拆分为大小一致的文件(例如每个文件大小为5KB),那么一种解决方案是:

  1. 以二进制格式读取大文件
  2. 每5000字节(5KB),创建一个新文件
  3. 将这5000个字节写入新文件

示例代码:

i = 0
with open("large-file", "r", encoding="utf8") as in_file:
    bytes = in_file.read(5000) # read 5000 bytes
    while bytes:
        with open("out-file-" + str(i), 'w', encoding="utf8") as output:
            output.write(bytes)
        bytes = in_file.read(5000) # read another 5000 bytes
        i += 1