[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