我到处寻找,我仍然无法将文件中的指定行写入新文件。如果我有一个名为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()
是的,我知道它不起作用。我只是对做什么感到困惑,这是我最好的猜测。
答案 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))
对于计数线,有两种方法是可行的:
根据上面的示例,可以在输入文件中使用任意数量的行
i = 1
for line in fin:
fout.write('Line #{0}: {1}'.format(i, line))
i += 1
如果你真的想要第一个,第二个等等,那就更复杂了。
您可以使用numbers = {1: 'first', 2: 'second'}
创建一个字典,然后像这样写入文件:
fout.write('{0} {1}'.format(numbers[i], line))