这首诗保存在一个文本文件中:
'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
这可以使用循环完成还是有更简单的方法来执行此操作?
答案 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时,如果该文件已经存在,它将被覆盖,如果它不存在,它将被创建。