迁移到Python 3 xml.etree.ElementTree的write()不能按预期工作。
我需要让以下代码与Python3一起使用:
tree = ET.ElementTree(root)
fileobj = StringIO()
tree.write(fileobj, encoding="utf-8")
py3的问题在于它将fileobj视为字节,因此无法将其写入StringIO。然后在检查ElementTree docutmentation后,我必须使用encoding='unicode'
,这在py3中运行正常,但在py2中失败。
现在,有一种方法可以使用py2和py3,或者我必须使用io.BytesIO作为py3的解决方法,还是应该使用基于python版本的不同编码?
这里最好的解决方案是什么?
答案 0 :(得分:0)
最后我决定将io.BytesIO用于py2和py3