2009-03-24 11 views
8

Quiero aprender un lenguaje de manipulación de texto y me he centrado en Python. Además de la manipulación de texto, Python también se utiliza para aplicaciones numéricas, aprendizaje automático, inteligencia artificial, etc.Python y manipulación de texto

Mi pregunta es cómo abordo el aprendizaje del lenguaje Python para poder escribir rápidamente sofisticadas utilidades de manipulación de texto. Además de expresiones regulares en el contexto de "manipulación de texto", ¿qué características del lenguaje son más importantes que otras ?, ¿qué módulos son útiles ?, etc.

Respuesta

19

Más allá de las expresiones regulares Aquí están algunas características importantes:

Para herramientas, recomiendo mirar el siguiente:

  • Whoosh, un motor de búsqueda de Python puro que le dará algunos ejemplos de la vida real agradables de análisis de texto usando pyparsing y procesamiento de texto en Python en general.

  • Ned Batcheldor's nice reviews of various Python parsing tools.

  • mxTextTools

  • Docutils código fuente para el procesamiento de texto más avanzado en Python, incluyendo una máquina de estados sofisticado.

Editar: buenas conexiones específicas para el procesamiento de texto en Python:

  • Text Processing in Python por David Mertz. Creo que el libro aún está disponible, aunque probablemente esté un poco anticuado ahora.
+1

Nice generators there. –

2

Encontré el objeto .__ doc__ y dir (obj) comandos increíblemente útiles en el aprendizaje del idioma.

p. Ej.

a = "test,test,test" 

¿Qué puedo hacer con a? dir (a). Parece que puedo dividir a.

vec = a.split (",") 

¿Qué es vec? vec .__ doc__:

"lista nueva inicializado de artículos de secuencia"

¿Qué puedo hacer con vec? dir (vec).

vec.sort() 

etc ...

4

Hay un libro Text Processing in Python. Aún no lo leí, pero he leído otros artículos de este autor y, en general, son un buen equipo.

+0

+1 por eso, buena lectura y sin duda ayudará a cualquier persona. –

Cuestiones relacionadas