2015-11-09 2 views
0

У меня есть входной файл как:Как подсчитать количество строк и вставить это значение в файле

aa 12 
bb 23 
cc 34 
dd 45 

и так далее ... Это просто формат файла. Мой фактический файл имеет около 10000 строк. Я хочу, чтобы получить выход как:

\data\ 
n-grams = 4 

\1-grams: 
aa 12 
bb 23 
cc 34 
dd 45 

\end\ 

Я использовал этот код:

with open("Input.txt") as infile: 

    with open("Output.txt","w") as outfile: 
     for i,line in enumerate(infile): 
      if i==0: 
       # 1st line 
       count = sum(1 for line in infile)     
       outfile.write("\data\ \n") 
       outfile.write("n-grams = " + str(count) + '\n\n') 
       outfile.write("\\1-grams:\n") 
      elif i==3: 
       # 4th line 
       pass 
      else: 
       outfile.write(line) 

Но этот код вставки

\data\ 
n-grams = 3 

\1-grams: 

Это не печатает остальной части данных , И он подсчитывает только 3 строки элементов вместо 4. Как я могу изменить это, чтобы заставить его работать?

ответ

1

Я хотел бы сделать это следующим образом:

with open('infile.txt', 'r') as f: 
    lines = f.readlines() 

with open('outfile.txt', 'w') as f: 
    f.write('\\data\\\n') 
    f.write('n-grams = {}\n'.format(len(lines))) 
    f.write('\\1-grams:\n') 
    for l in lines: 
     f.write(l) 
+0

new_last_line = (строки [-1] .rstrip() + "\ п \ п" + "\ конец \\") линии [-1] = new_last_line // Эта часть может быть добавлена ​​для добавления \ end \ line в последней строке файла. –

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