это может сработать
def splitter(n, s):
pieces = s.split()
return (" ".join(pieces[i:i+n]) for i in xrange(0, len(pieces), n)
for piece in splitter(1000, really_long_string):
print piece
Это даст десять строк из 1000 слов из строки 10000 слов, как вы просите.Обратите внимание, что вы также можете использовать рецепт iterools grouper, но для этого потребуется 1000 копий итератора для вашей строки: я думаю, это дорого.
Также обратите внимание, что это заменит пробелы в все пробелами.Если это не приемлемо, вам нужно что-то еще.