簡體   English   中英

Python3:StringIO和Elementree編碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM