2013-12-08 146 views
0

我到處尋找,並且仍然無法將指定的行從文件寫入新文件。如果我有一個名爲test.txt的,內容如下文件:如何在文本文件中編寫修改後的文本文件

Hello 
World 
This 
Is 
My 
File 

我想將這個文件寫入到一個新的文件添加文本每行。說我想要的輸出看起來像

First Hello 
Second World 
Third This 
Fourth Is 
Fifth My 
Sixth File 

我當前的代碼是

def addLines(filename): 
    with open(filename, 'r') as fin: 
     with open('test2.txt', 'w') as fout: 
      for line in fout: 
       fout.write('First') 
       fout.write(line[0]) 
       fout.write('Second') 
       fout.write(line[1]) 
       fout.write('Third') 
       fout.write(line[2]) 
       fout.write('Fourth') 
       fout.write(line[3]) 
       fout.write('Fifth') 
       fout.write(line[4]) 
       fout.write('Sixth') 
       fout.write(line[5]) 
    fout.close() 

是的,我知道這是行不通的。我只是困惑在做什麼,這是我最好的猜測。

回答

1

爲起點,開始與此:

def addLines(filename): 
    with open(filename, 'r') as fin: 
     with open('test2.txt', 'w') as fout: 
      for line in fin: 
       fout.write('First {0}'.format(line)) 

計數線,兩種方法是feasable:

  1. 基於上面的例子中,工作在你輸入的任何數量的行文件

     i = 1 
         for line in fin: 
          fout.write('Line #{0}: {1}'.format(i, line)) 
          i += 1 
    
  2. 如果你真的想要第一,第二等等,它比較複雜。 您可以創建一個字典,numbers = {1: 'first', 2: 'second'}然後寫出像這樣的文件:

      fout.write('{0} {1}'.format(numbers[i], line)) 
    
相關問題