我对Python编程非常陌生,我有一个棘手的问题,就是用存储在列表中的字符串来更改文本文件中的特定字符串。你知道吗
我正在处理媒体wiki文档-将它们从.doc转换为wiki代码。转换后,所有图像都被标记[[Media:]]替换-我想用列表中存储的图片名称替换所有[[Media:]]标记。例如,在已转换的文档中,将有5个[[Media:]]标记,因此这意味着我有如下列表:
li = ["image1.jpg", "image2.jpg", "image3.jpg", "image4.jpg"]
我想将文档中的第一个标记改为bo,替换为image1.jpg,在image2.jpg文档中找到的第二个标记,依此类推。。你知道吗
这是一段代码,但我不知道如何通过列表进行迭代
li = ["image1.jpg ", "image2.jpg ", "image3.jpg ", "image4.jpg ", "image5.jpg "]
a = 0
src = open('sap.txt').readlines()
dest = open('cel.txt', 'w')
for s in src:
a += 1
dest.write(s.replace("[[Media:]]", li[a]))
dest.close()
我将非常感激你的帮助
如果以后不需要使用
li
,可以执行以下操作:当然,如果文件中包含的
"[[Media:]]"
实例比len(li)
多,那么您将打开一个IndexError
。你知道吗另外,如果使用
re
,可以用line=re.sub("\[\[Media:\]\]", lambda m: li.pop(), line)
替换while循环。你知道吗一种简单但效率不高的方法是一次替换一个标记:
更好的方法是一次性构造字符串:
像这样使用:
相关问题 更多 >
编程相关推荐