如何从新文本文件中的文本文件中编写修改的行

时间:2013-12-08 19:38:07

标签: python text-files

我到处寻找,我仍然无法将文件中的指定行写入新文件。如果我有一个名为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 个答案:

答案 0 :(得分: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))

对于计数线,有两种方法是可行的:

  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))