我使用BeautifulSoup4来解析和修改一些角度模板(HTML文件)。我在使用prettify函数将修改后的内容写回文件时遇到一些问题。此问题与特殊字符有关,例如:>;、<;等
我需要HTML文件的格式与处理之前完全相同,不需要将字符串值(如×)转换为“×”,也不需要将属性值(如*ngIf="alarmCount > 0转换为*ngif="alarmCount > 0)。在
下面是一个示例HTML模板和beautifulsoup的输出,它们分别对应于三个内置的output formatters(HTML,minimal,None)。两者都不能提供所需的输出。还有一个选项可以将自定义格式化程序函数传递给prettify(),但由于此自定义格式设置程序不知道传递给它的字符串是属性值还是字符串值,因此我不确定它在这种情况下是否真的有用。在
如有任何关于如何处理这一问题的建议,我们将不胜感激。在from bs4 import BeautifulSoup
test_html = """
0">×
"""
document = BeautifulSoup(test_html, "html.parser")
print(document.prettify(formatter="html"))
结果与formatter=“html”:
^{pr2}$
formatter=None的结果:
0">
×
结果与formatter=“minimal”:
×