[英]replacing lines with elements from a list
我正在读取文件,并在其中寻找特定的字符串,如下所示:
template = open('/temp/template.txt','r')
new_elements = ["movie1","movies2"]
for i in template.readlines():
if "movie" in i:
print "replace me"
一切都很好,但是我想用“ new_elements”中的元素替换找到的行。 我假设发现的字符串数将始终与“ new_elements”列表中的元素数匹配。 我只是不知道如何在寻找要替换的行时对new_elements进行迭代。
干杯
一种方法是使new_elements
成为迭代器:
template = open('/temp/template.txt','r')
new_elements = iter(["movie1","movies2"])
for i in template.readlines():
if "movie" in i:
print "replace line with", new_elements.next()
您没有说过要如何执行替换操作-例如是否要将其写入新文件-但这将适合您使用的任何代码。
您要查找的内容非常简单:列表的.pop()
方法。 这将获得列表中的下一个条目,并将其删除; 您对该函数的下一次调用将返回下一项。 完全不需要进行任何迭代。
没有参数,它将弹出最后一个元素。 如果要首先弹出,则可以使用new_elements.pop(0)
,尽管这比从最后弹出要慢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.