Programación Web y Scripting > Python
Problema Con Una Funcion
(1/1)
joy:
Hola a todos :
Tengo un problema con esta funcion.
def lematizarTexto(texto):
'''Pre: texto contiene la ruta del archivo que contiene un texto no vacío
Post: se ejecutará FreeLing, obteniendo la lista de lexemas junto con
las palabras originales y sus etiquetas.
duele doler VMIP3S0
Se devolverá la salida de FreeLing'''
#Free es una variable de usuario. contiene la ruta donde esta el Freeling
command='%Free%/analyzer.exe -f %Free%/data/config/es.cfg <'+ texto
(po,pi)= popen2(command)
return po
Lo que necesito es ejecutar un ejecutable de windows desde python. y la salida de este programa por lo que yo entiendo me da un fichero que no se porque no lo puedo leer;pone esto :
Hago la llamada:
lematizarTexto('mi gato')
<open file '%Free%analyzer.exe-f %Free%/data/config/es.cfg<mi gato', mode 'r' at 0x00b54a20>
como puedo leer y sacar por pantalla lo que contiene el fichero, lo he probado todo Read(), hacer un bucle . . . no puedo.
RadicalEd:
Mira un código pequeño para leer un fichero, aunque no entiendo lo que hacer con tu función.
--- Código: Text ---archi = open('la dirección del fichero\tufile.ext', 'r') #Se abre en modo lecturaprint f.read()f.close() Con esto te debe mostrar toda la info del fichero.
Ojala te sirva.
Chao
joy:
CREO QUE NO ME HE EXPLICADO BIEN :
LO QUE PRETENDO HACER ES EJECUTAR UN PROGRAMA QUE TENGO EN WINDOWS DESDE LA IDLE DE PYTHON. Y PODER RECOGER EL RESULTADO DEL PROGRAMA PARA PODER MANIPULARLO O POR LO MENOS IMPRIMIRLO EN PANTALLA.
SI ME PODEIS AYUDAR OS LO AGRADECERIA ESTOY BASTANTE ESTANCADA.
MERCI
NRM:
Cuando ingreses codigo utiliza el tag CODE asi es mas simple la lectura.
--- Código: Text ---def lematizarTexto(texto): '''Pre: texto contiene la ruta del archivo que contiene un texto no vacío Post: se ejecutará FreeLing, obteniendo la lista de lexemas junto con las palabras originales y sus etiquetas. duele doler VMIP3S0 Se devolverá la salida de FreeLing''' #Free es una variable de usuario. contiene la ruta donde esta el Freeling command='%Free%/analyzer.exe -f %Free%/data/config/es.cfg <'+ texto (po,pi)= popen2(command) return po
Ejemplo
--- Código: Text ---import osdef listDir(directorio): command='ls -l ' + directorio pi, po = os.popen2(command) return po.read()
Nota que utilizo el os.popen2 en vez de simplemente popen2.
Navegación
Ir a la versión completa