Из описания кажется, что проблема в памяти - проблема здесь.Таким образом, мы можем использовать генераторы, чтобы уменьшить объем памяти данных, так что он загружает часть данных, используемых один за другим.
from itertools import chain, islice
def piecewise(iterable, n):
"piecewise(Python,2) => Py th on"
iterable = iter(iterable)
while True:
yield chain([next(iterable)], islice(iterable, n-1))
l = ...
file_large = 'large_file.txt'
with open(file_large) as bigfile:
for i, lines in enumerate(piecewise(bigfile, l)):
file_split = '{}.{}'.format(file_large, i)
with open(file_split, 'w') as f:
f.writelines(lines)