如何将大文本文件(一个长字符串)拆分为50kb文本文件

时间:2015-07-14 02:00:45

标签: python

我现在有一个1.1MB的文件“text.txt”。我想将其拆分为50kb的文本文件。 我会使用一个循环,如果我可以readlines()文件,但因为它是一个长字符串,我不确定我能做到。

2 个答案:

答案 0 :(得分:4)

打开文件,设置一个字节range进行迭代,然后seek()到该位置,read()在内容中,如果有内容,则将其写入新文件。如果没有内容,break不在循环中。

with open('myfile.txt', 'r') as f:
    for place in range(0, int(2e6), 50000):
        f.seek(place)
        content = f.read(50000)
        if content:
            with open('myfile{}.txt'.format(place), 'w') as o:
                o.write(content)
        else:
            break

答案 1 :(得分:0)

您可以使用split命令。 例如: -

split -b 50k text.txt.

如果你想从python中执行此操作,可以使用subprocess.check_call()