我能够以某种方式编写以下代码(从各种来源获取帮助):
langs=['C','Java','Cobol','Python']
f1=open('a.txt','r')
f2=open('abc.txt','w')
for i in range(len(langs)):
for line in f1:
f2.write(line.replace('Frst languag','{}'.format(langs[i])))
f1.close()
f2.close()
不知道为什么for循环没有运行到最后。因为每次打开txt时,只有'C'存储在txt中。我希望脚本运行,并且在脚本执行结束时,txt应该具有列表的最后一个值(这里是python)
答案 0 :(得分:4)
在内部for循环的第一次传递之后,f1指向文件的末尾。所以随后的通行证都没有做任何事情。
最简单的解决方法是将f1=open('a.txt','r')
移至for line in f1:
之前。然后将为您的每种语言重新读取该文件。 (或者,您可以重新构建逻辑,以便在文件的一次传递中同时处理所有语言。)