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&#092;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 &#60;'+ 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

[0] Índice de Mensajes

Ir a la versión completa