2014-11-11 3 views
-1

это код из martineu, что я получил раньше от моего последнего вопросаКак разделить один текстовый файл в виде текстового файла пара зависит от номера строки в Python

with open('textfile.txt', 'rt') as inf: 
    for linenum, line in enumerate(inf, start=1): 
     filename = 'string {}.txt'.format(linenum) 
     with open(filename, 'wt') as outf: 
      outf.write(line) 

это будет печатать только одна строка. следующая строка будет сделать новый текстовый файл

в TextFile.txt

string 1 
this is my pen 
this is my book 
string 2 
this is my phone 
this is my ... 

разделит на пару текстовых файлов, как это

строки 1 в строке 1.txt

это мое перо в строке 2.txt

это моя книга в строке 3.txt

строка 2 в строке 4.txt

это мой телефон в строке 5.txt

так далее ..

Но я нужен один, как этот

строки 1.TXT

this is my pen 
this is my book 

строка 2.txt

this is my phone 
this is my ... 

так далее до строки n + 1

Я думаю, что меняю «белье». Но я не идея ..

ответ

1

Это самый метод брутфорс решения .... Надеюсь, что это помогает

linenum = 1 
filename = '' 
with open('textfile.txt', 'rt') as inf: 
for line in (inf): 
    if 'string 'in line: 
     filename = 'string {}.txt'.format(linenum) 
     open(filename,'w') 
     linenum+=1 
     continue 
    with open(filename, 'a') as outf: 
     outf.write(line) 
+0

спасибо так много, его работу! –

+0

o да другой вопрос. я просто узнаю, если я вводил строку над строкой 1 в textfile.txt. например, я ввожу автора выше «строка 1». код будет печатать ошибку, потому что строка должна быть напечатана. так как я могу удалить строку автора, которая мне не нужна? –

+0

@stevanusgiri Завершите цикл, пока не найдете строку, которую вы хотите распечатать. Затем начните печатать эти строки, которые требуются. –

Смежные вопросы