On 2013-11-22 17:18, Roberto Preziusi wrote:
Ciao,
avrei bisogno di effettuare il parsing di un file così composto:
...
address-set ABC_DEF {
address ABC_PRO_1;
address BCD_PRO_IP2;
address AAA_ABC;
address FFF_CHCD;
....
}
...
Sembra abbastanza facile da fare con le espressioni regolari. La
soluzione corretta è scrivere un parser con un generatore che parta
dalla vostra grammatica (ply, pyparsing).
All'interno dello stesso file ho altri campi "address-set" con altri
nomi
diversi da "ABD_DEF"
Vorrei creare una lista con dentro tutti gli address del mio
address-set
address-list = ["ABC_PRO_1", "BCD_PRO_IP2", ... ]
Qualcuno sa dirmi se ci sono librerie in python che fanno questo o se
c'è
un modo veloce x farlo ?
Altra domanda:
Domanda mia: ve lo siete inventati voi quel formato?
Perchè state reinventando l'acqua calda: non dovreste scrivere un nuovo
parser se potete usare un linguaggio diverso. Quale? Ce ne sono a
tonnellate pronti per essere usati in Python:
1. python stesso. Se il formato è Python basta importarlo per avere
tutti gli oggetti, ed avete anche già pronti modularità (usando import),
potete usare espressioni, variabili...
address_set("ABC_DEF",
address("ABC_PRO_1"),
address("BCD_PRO_IP2"),
...)
2. un file ini sembra più che sufficiente, non so se si possono fare
ripetizioni. Il parser è nella stdlib.
[ABC_DEF]
address: ABC_PRO_1
address: BCD_PRO_IP2
3. YAML è facilissimo da editare a mano
4. JSON pure andrebbe più che bene, meno editabile di YAML ma il parser
è nella stdlib.
sarebbe piu' facile effettuare la stessa operazione se avessi la
possibiltà
di esportare questa conf in xml ?
5. XML se proprio ti diverti ad overingegnerizzare per nessun risultato
apprezzabile.
-- Daniele
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python