[英]Python3: StringIO and Elementree encoding
隨着向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版本的其他編碼?
最好的解決方案是什么?
最后,我決定對py2和py3都使用io.BytesIO
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.