with open('input.txt') as input_file:
    for chunk_number in count(1):
        sorted_chunk = sorted(islice(input_file, 50000))
if not sorted_chunk:
    break
Сортировка большого файла с помощью Python heapq.merge