[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