txt文件的索引行

时间:2018-11-27 14:33:07

标签: python python-3.x

我试图找到一种索引文本文件行的方法。

我使用以下代码读取txt数据

with open('file.txt','r') as f:
    lines=f.read()
    print(lines)`

结果是

Aberdeen, Scotland
Adelaide, Australia
Algiers, Algeria

但是我想在每行前面放置1:2:3:。因此,我想我必须做类似以下的事情

with open('file.txt','a') as  f:
    for i in len(f):
        line='i:'+(ith line of txt file)
        f.write(line)

但是我很难解决它,任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

您必须处理两个文件,一个用于输入,一个用于输出:

with open("file.txt") as finp, open("newfile.txt","w") as fout:
  for index,line in enumerate(finp):
    fout.write(str(index)+": "+line)  

如果要从1开始编号,请输入:enumerate(finp,1)

答案 1 :(得分:0)

您不需要两个句柄文件。只需使用seek。

file_path = "file.txt"

with open(file_path,"r+") as file:
    lines = file.readlines()
    file.seek(0)
    for index,line in enumerate(lines):
        to_write_string = str(index)+': '+line
        file.write(to_write_string)

这应该可以解决问题。