Oppure

Loading
26/12/10 10:54
GigiDual
Salve, dovrei leggere un file di testo e cercare il contenuto con una espressione regolare in questo modo:

[gxyzftsm][-+]?[0-9]*\.?[0-9]*

devo ricavare con uno switch le funzioni che gli passo, esempio

g0
t1
x20
y0
z-2
etc.

Mi dite come posso fare in python?

grazie mille.
aaa
26/12/10 13:52
delta
per le espressioni regolari devi importare il modulo re.
la funzione match dovrebbe essere quello che cerchi.

il costrutto switch in python non c'e', normalmente si usa una serie di if o un dizionario...
aaa
27/12/10 11:59
GigiDual
Postato originariamente da delta:

per le espressioni regolari devi importare il modulo re.
la funzione match dovrebbe essere quello che cerchi.

il costrutto switch in python non c'e', normalmente si usa una serie di if o un dizionario...


hai qualche esempio di codice??

Io vengo da C# e mi sto convertendo tutto a linux ubuntu con python.
aaa
28/12/10 0:07
total
per alternative alle switch.. guarda quà
stackoverflow.com/questions/60208/…
aaa
28/12/10 9:59
delta
Postato originariamente da GigiDual:

Postato originariamente da delta:

per le espressioni regolari devi importare il modulo re.
la funzione match dovrebbe essere quello che cerchi.

il costrutto switch in python non c'e', normalmente si usa una serie di if o un dizionario...


hai qualche esempio di codice??

Io vengo da C# e mi sto convertendo tutto a linux ubuntu con python.



import re

def g0(args): 
    #fai qualcosa

def z_meno_2(args):
    #fai dell'altro

funzioni={
    'g0': g0,
    'z-2': z_meno_2
    }

percorso_file="path/to/my/file"
for linea in open(percorso_file): #leggo il file riga per riga
    if re.match("[gxyzftsm][-+]?[0-9]*\.?[0-9]*", linea):
        #se leggo qualcosa che corrisponde all'espressione regolare
        #richiamo la funzione relativa a quello che ho letto
        print funzioni[linea](args)


questo è un possibile codice, facci sapere!
aaa