Python 更改lxml中etree.tostring的默认缩进

Python 更改lxml中etree.tostring的默认缩进,python,lxml,pretty-print,Python,Lxml,Pretty Print,我有一个XML文档,我正在使用lxml.etree.tostring print etree.tostring(doc, pretty_print=True) 缩进的默认级别是2个空格,我想把它改为4个空格。在tostring函数中没有任何关于此的参数;有没有一种方法可以轻松地使用lxml实现这一点?如中所述,没有真正的方法可以更改lxml.etree.tostringpretty print的缩进 但是,你可以: 添加XSLT转换以更改缩进 将空格添加到树中,类似于库中的空格 代码: 从

我有一个XML文档,我正在使用
lxml.etree.tostring

print etree.tostring(doc, pretty_print=True)
缩进的默认级别是2个空格,我想把它改为4个空格。在
tostring
函数中没有任何关于此的参数;有没有一种方法可以轻松地使用lxml实现这一点?

如中所述,没有真正的方法可以更改
lxml.etree.tostring
pretty print的缩进

但是,你可以:

  • 添加XSLT转换以更改缩进
  • 将空格添加到树中,类似于库中的空格
代码:

从4.5版开始,使用
indent()
函数

etree.indent(root, space="    ")
print(etree.tostring(root))

2009年2月至lxml开发人员列表存档的链接已断开,位于:。但无论如何,将空格混入实际的树元素似乎很讨厌,难道人们没有要求将其作为一种增强吗?
etree.indent(root, space="    ")
print(etree.tostring(root))