ElementTree TypeError "write() argument must be str, nicht bytes" in Python ist3

Hab ein Problem mit der Erzeugung ein .SVG-Datei mit Python ist3 und ElementTree.

    from xml.etree import ElementTree as et
    doc = et.Element('svg', width='480', height='360', version='1.1', xmlns='http://www.w3.org/2000/svg')

    #Doing things with et and doc

    f = open('sample.svg', 'w')
    f.write('<?xml version=\"1.0\" standalone=\"no\"?>\n')
    f.write('<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n')
    f.write('\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n')
    f.write(et.tostring(doc))
    f.close()

Die Funktion et.tostring(doc) erzeugt eine TypeError - "write() argument must be str, nicht Byte". Ich verstehe nicht, dass das Verhalten, "et" sollte konvertieren Sie die ElementTree-Element in einen string? Es funktioniert in python2, aber nicht in Python ist3. Was habe ich falsch gemacht?

  • Haben Sie überprüfen der Dokumentation? Siehe dieser Seite und suchen Sie nach tostring. Hilft das?
  • nicht wirklich, es soll entschlüsselt werden, die bereits in utf-8 bytestring, aber Python ist3 scheint ein problem mit, dass
InformationsquelleAutor Benny H. | 2017-02-27
Schreibe einen Kommentar