如何自动生成标签以在生成的HTML文件上获得正确的树视图?
例如,我有一个这样的代码:
def creating_html(self):
something ='''<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
'''
file.write(something)
此代码将使用适当的选项卡等生成代码但我觉得我的代码非常混乱,因此我也认为我浪费时间检查一个好的格式。所以我在考虑这样的事情,让我的代码更清洁。
def creating_html(self):
something ='''
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
'''
file.write(something)
但现在格式无效。
我正在寻找一个好的解决方案,其中一个只是在用PyCharm生成它之后打开这个HTML文件并使用快捷键 Ctrl + Alt + L 。我正在寻找一种自动完成的解决方案。
答案 0 :(得分:2)
您可以使用Beautiful Poup 4将其与pip一起安装并使用如下:
from bs4 import BeautifulSoup
something ='''
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
'''
messed_code= BeautifulSoup(something, 'html.parser')
file.write(messed_code.prettify())
就我个人而言,我认为在第一种情况下字符串看起来更好,只要它更具可读性
答案 1 :(得分:1)
from lxml import etree, html
html_string ='''
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
'''
html_object = html.fromstring(html_string)
file.write(etree.tostring(html_object, pretty_print=True))