【发布时间】:2013-03-08 17:05:33
【问题描述】:
有没有办法为.prettify() 函数定义自定义缩进宽度?从我可以从它的来源获得的信息 -
def prettify(self, encoding=None, formatter="minimal"):
if encoding is None:
return self.decode(True, formatter=formatter)
else:
return self.encode(encoding, True, formatter=formatter)
无法指定缩进宽度。我认为是因为 decode_contents() 函数中的这一行 -
s.append(" " * (indent_level - 1))
固定长度为 1 个空格! (为什么!!)我尝试指定 indent_level=4,结果就是这样 -
<section>
<article>
<h1>
</h1>
<p>
</p>
</article>
</section>
这看起来很愚蠢。 :|
现在,我可以解决这个问题,但我只是想确定我是否缺少任何东西。因为这应该是一个基本功能。 :-/
如果你有更好的美化 HTML 代码的方法,请告诉我。
【问题讨论】:
-
回答您的附带问题(“为什么!”):HTML 和 XML 往往嵌套非常非常深,我猜 Crummy 的家伙喜欢 80 列窗口。但是您可能想要发布到邮件列表/组和/或提交请求此功能的错误(并且,由于补丁非常简单 - 并且 ramabodhi 已经为您编写了很多 - 您应该将其包含在您的电子邮件/错误中报告)。
-
几年前好像有人向邮件列表提交了一个针对 3.2 的类似补丁。见here。
-
"1-空格缩进看起来很愚蠢。:|" - 谢谢。这正是我在寻找这个问题时的想法。
标签: python beautifulsoup indentation code-formatting pretty-print