[Python] Formattare un file di stringhe in XML
Valerio Maggio
valerio.maggio a gmail.com
Dom 2 Mar 2014 17:01:21 CET
On 02/mar/2014, at 14:43, Dante Loi <danteloi1993 a gmail.com> wrote:
> In effetti ho bisogno di qualcosa di più robusto, ho creato questo:
Scusa la brevità ma ti rispondo da mobile: sarò molto puntuale.
> import string
A cosa serve ? Tra l'altro occhio perché poi introduci un clash di nomi...
> for line in infile.readlines():
Elimina questo readlines: è superfluo, meno efficiente (in caso di file molto grande) e non è un buon idioma
Basta `for line in infile:`
> if line.strip():
Il metodo `strip` non modifica "in place" ma restituisce un'altra stringa... Forse sarebbe meglio un
`line = line.strip()`
`if line:`
> name, value = [ word.strip() for word in line.split("=",1) ]
Qui *forse* c'è qualche cosa che non va IMHO... ad intuito direi che name sarà uguale al primo elemento della lista e value a tutto il resto.. È quelli che vuoi? Non sono veramente sicuro che sia così comunque...
> string = ET.SubElement(resources,"string")
Brutta idea chiamate una variabile `string`
> tree.write(sys.argv[2])
Prova con
`tree.write(sys.argv[2], encoding='utf8')`
Eventualmente porta tutto in Unicode nella list comprehension ma non dovrebbe essere necessario...
Spero di non aver fatto disastri con il quoting.
Ciao
Valerio
Maggiori informazioni sulla lista
Python