使用python

时间:2019-03-05 06:22:53

标签: html python-3.x

    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

请帮助我进行必要的修改 谢谢

1 个答案:

答案 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