links=[<a href="http://hexagon-dashboard-gbc-01/vboard/latest?regs=3281546">http://hexagon-dashboard-gbc-01/vboard/latest?regs=3281546<!--V68NUR--></a>]
str1="""<a href="%s">%s<!--V68NUR--></a>"""%(vboard['V68N']['perf.tl'],vboard['V68N']['perf.tl'])
with open(html_file,'r+') as file:
content=file.read()
file.seek(0)
file.truncate()
file.write(content.replace(links[0],str1))
file.close()
我正在尝试用文件中的html标记替换存储在列表中的字符串 我收到此错误:TypeError:replace()参数1必须为str,而不是Tag
请帮助我进行必要的修改 谢谢
答案 0 :(得分:1)
已更新:
根据您发布的内容,我想您正在将html文件视为纯文本并打算执行字符串替换。
replace()函数仅在其两个参数均为字符串时才起作用。
出现错误的原因是links [0]不是字符串而是标签。
如果您设法获得这样的链接(请注意单引号)
links=['<a href="http://hexagon-dashboard-gbc-01/vboard/latest?regs=3281546">http://hexagon-dashboard-gbc-01/vboard/latest?regs=3281546<!--V68NUR--></a>']
然后
content.replace(links[0],str1)
不会产生任何错误。
要编辑html文件,也可以改用HTML Parser。