我试图找到一种索引文本文件行的方法。
我使用以下代码读取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)
但是我很难解决它,任何帮助都会很棒。
答案 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)
这应该可以解决问题。