如何获取文本文件并使用带编号的行创建副本

时间:2014-04-24 21:42:23

标签: python

这首诗保存在一个文本文件中:

'Twas brillig, and the slithy toves
   Did gyre and gimble in the wabe;
All mimsy were the borogroves,
   And the mom raths outgrabe.
               - Lewis Carroll

我想创建该文件的副本并更改名称,并使输出看起来像这样:

1: 'Twas brillig, and the slithy toves
2:   Did gyre and gimble in the wabe;
3: All mimsy were the borogroves,
4:   And the mom raths outgrabe.
5:             - Lewis Carroll

这可以使用循环完成还是有更简单的方法来执行此操作?

1 个答案:

答案 0 :(得分:8)

您可以遍历诗歌文件的每一行并使用enumerate获取行号:

with open('poem.txt') as poem_file:
    with open('poem-numbered.txt', 'w') as numbered_file:
        for index, line in enumerate(poem_file, 1):
            numbered_file.write('{}: {}'.format(index, line))

上面的代码首先打开原始诗文件(poem.txt),然后打开一个文件写入文件(因此w作为open的第二个参数)。然后,它遍历原始文件的行,并使用行号将该行写入输出文件(poem-numbered.txt)。

w作为第二个参数传递给open时,如果该文件已经存在,它将被覆盖,如果它不存在,它将被创建。