[Python] Formattare un file di stringhe in XML
Daniele Varrazzo
piro a develer.com
Lun 24 Feb 2014 13:43:16 CET
On 2014-02-24 12:25, Dante Loi wrote:
> Salve devo scrivere un piccolo script che formati, dei file di
> risorse nel
> formato XML android.
>
> input file:
>
> File = File
> New = Nuovo disegno
[...]
> Il problema e che il valore della stringa, può contenere degli
> spazzi,
> quindi non posso semplicemente splitarla. Dovrei estrarre tutta la
> sottostringa che segue " = ".
>
> Avete qualche consiglio sulle funzioni che potrei usare???
Per quello che hai chiesto puoi usare split con il secondo parametro,
che dice quanti split vuoi al massimo. Splittando su "=" ti ritrovi con
degli spazi prima e dopo i pezzi, che puoi eliminare con strip(). È più
robusto che splittare sugli spazi bianchi, perché se per sbaglio ne
metti di consecutivi le cose non ti torneranno.
In [1]: s = "SaveName = Salva con = nome" # funziona anche se c'è
un = nel valore
In [2]: s.split("=", 1)
Out[2]: ['SaveName ', ' Salva con = nome']
In [3]: name, value = [ x.strip() for x in s.split("=", 1) ]
In [4]: name, value
Out[4]: ('SaveName', 'Salva con = nome')
La cosa brutta è come generi l'xml: se le stringhe contengono " ' < >
ottieni un file non valido. Dovresti usare qualcosa di più robusto per
generare xml, come ElementTree
(http://docs.python.org/2/library/xml.etree.elementtree.html).
-- Daniele
Maggiori informazioni sulla lista
Python