Skip to content
Advertisement

Python Element Tree Writing to New File

Hi so I’ve been struggling with this and can’t quite figure out why I’m getting errors. Trying to export just some basic XML into a new file, keeps giving me a TypeError. Below is a small sample of the code

JavaScript

Advertisement

Answer

The ElementTree.write method defaults to us-ascii encoding and as such expects a file opened for writing binary:

The output is either a string (str) or binary (bytes). This is controlled by the encoding argument. If encoding is "unicode", the output is a string; otherwise, it’s binary. Note that this may conflict with the type of file if it’s an open file object; make sure you do not try to write a string to a binary stream and vice versa.

So either open the file for writing in binary mode:

JavaScript

or open the file for writing in text mode and give "unicode" as encoding:

JavaScript

or open the file for writing in binary mode and pass an explicit encoding:

JavaScript
User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement