[Python] Formattare un file di stringhe in XML

Dario Bertini berdario a gmail.com
Lun 3 Mar 2014 17:17:24 CET


Fai un cambiamento per volta

in particolare, hai cambiato tree.write()

se lo fai tornare tree.write(sys.argv[2]) vedrai che funziona

in pratica, tree.write se riceve un nome di un file, lo apre nel modo
per lui corretto, e tutto funziona

se invece vuoi dargli tu un handle già aperto, siccome ElementTree ti
permette di specificare l'encoding in cui generare un file, deve avere
aperto il file in modalità "scrittura byte"

tu invece l'hai aperto in modalità "scrittura testo (utf-8)" che è il default

l'altro modo quindi per sistemarlo, è cambiare
open(sys.argv[2], 'w')
in
open(sys.argv[2], 'wb')

già che ci siamo, invece di aprire e chiudere manualmente i file,
prova ad usare l'istruzione "with"

http://docs.python.org/3.3/reference/compound_stmts.html#the-with-statement

with open(sys.argv[1], 'r') as in, open(sys.argv[2], 'wb') as out:
    # work with in & out




-- 
xmpp: berdario at gmail.com
bitmessage: BM-2cTYXfGiSTsnx3righ6aHcJSWe4MV17jDP
gpg fingerprint: 3F8D53518012716C4EEF7DF67B498306B3BF75A0 (used just
for signing commits)


Maggiori informazioni sulla lista Python