Как разделить txt файл (1kk строк) на несколько файлов?
Можно выполнить команду 
split book.txt -l 100000
обвернув в системный вызов в Питоне.
Открывать исходный файл, читать в цикле под одной строке и записывать её в файл, каждые 100k строк открывать новый файл для записи.