2009-03-24 1 views
8

Voglio imparare un linguaggio di manipolazione del testo e ho azzerato su Python. Oltre alla manipolazione del testo, Python viene utilizzato anche per applicazioni numeriche, machine learning, AI, ecc.Manipolazione di testo e Python

La mia domanda è: come approcciare l'apprendimento del linguaggio Python in modo che io sia in grado di scrivere rapidamente sofisticate utilità di manipolazione del testo. Oltre alle espressioni regolari nel contesto della "manipolazione del testo", quali caratteristiche linguistiche sono più importanti di altre quali moduli sono utili e così via.

risposta

19

Al di là di espressioni regolari Qui sono alcune caratteristiche importanti:

Per utensili, vi consiglio di guardare il seguente:

  • Whoosh, un puro Python motore di ricerca che vi darà alcuni bei esempi di vita reale di analisi del testo utilizzando pyparsing e l'elaborazione del testo in Python in generale.

  • Ned Batcheldor è bello reviews of various Python parsing tools.

  • mxTextTools

  • Docutils codice sorgente per l'elaborazione del testo più avanzato in Python, tra cui una macchina a stati sofisticata.

Edit: A buoni collegamenti specifici per l'elaborazione del testo in Python:

  • Text Processing in Python da David Mertz. Penso che il libro sia ancora disponibile, anche se probabilmente è un po 'datato ora.
+1

Nice generatori lì. –

2

Ho trovato i comandi oggetto .__ doc__ e dir (obj) incredibilmente utili nell'apprendimento della lingua.

ad es.

a = "test,test,test" 

Cosa posso fare con a? dir (a). Sembra che io possa dividere un

vec = a.split (",") 

Che cos'è vec? vec .__ doc__:

"nuova lista inizializzato da elementi di sequenza"

Cosa posso fare con vec? dir (vec).

vec.sort() 

ecc ...

4

C'è un libro Text Processing in Python. Non l'ho ancora letto ma ho letto altri articoli di questo autore e generalmente sono un buon staff.

+0

+1 per quello, ottima lettura e aiuterà sicuramente chiunque. –