2013-12-08 64 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)) 
    
相关问题