Programación Web y Scripting > Python
Ejecutar Subprocesos En Python
(1/1)
joy:
os explico un poco lo que quiero hacer:
pretendo ejecutar un programa lematizador de texto desde una funcion en python. es decir tengo en windows el programa llamado Freeling-1.4 y para que lematice el texto hay que hacerlo asi:
'C:/FreeLing-1.4/analyzer -f C:/FreeLing -1.4/data/config/es.cfg<' + texto
por lo que ejecuto el programa como si de un subproceso se tratase y recojo los resultados en tres ficheros.
yo realmente necesito imprimir el fichero po(el de output) en pantalla, mas que nada para ver los datos formato... por eso me he hecho esta otra funcion:
--- Código: Text ---import sys, popen2 def lematizar(texto) command='C:/FreeLing-1.4/analyzer -f C:/FreeLing -1.4/data/config/es.cfg<'+texto po,pi,pe=popen2.popen3(command) print po.readlines()
y el resultado no es el que realmente esperaba, me devuelve como si el fichero creado estuviera vacio exactamente esto: [] sabeis que estoy haciendo mal????? Tambien he probado a abrir el fichero leer y luego cerrarlo y el resultado es el mismo.
muchas gracias
JOANA
* por favor no uses tanto las mayusculas, parece como si estuvieras gritando.
** cuando ingresas codigo por favor utiliza bien la indentacion, en python es muy importante.
*** no ingreses un mismo thead mas de una vez. http://foros.solocodigo.com/index.php?showtopic=25157
NRM:
No intentaste hacer lo que te explique en el otro thread? No te funciono?
http://foros.solocodigo.com/index.php?showtopic=25157
Si no funciona, explicanos un poco mas. O muestranos los errores, si los hay.
Podrias mostrarnos una salida del programa ejecutandose normalmente, o podrias mostranos todo el programa y no solo la funcion?
Saludos
NRM
joy:
no es una funcion que llame desde ningun otro programa soo quiero probar el programa de lematizar y el error es que me devuelve un fichero vacio: osea esto[] cuando deberia contener el texto lematizado.
Cuando tengo la funcion guardada la llamo de la siguiente manera y este es el resultado:
--- Código: Text --- >>>lematizar('mi gato')[]
P:D:perdon por lo de las mayusculas mi intencion no era gritar.
NRM:
intenta con el siguiente codigo y si este no funciona deberia tirar un error, de ser asi publica el error.
--- Código: Text ---import sys, os def lematizar(texto): command = "C:\\FreeLing-1.4\\analyzer -f C:\\FreeLing-1.4\\data\\config\\es.cfg < " + texto pi, po = os.popen2(command) print po.readlines()
saludos
NRM
joy:
Sigue igual, me sigue dando el fichero como si estuviera vacio y no da ningun otro tipo de error. Con la funcion que yo he hecho al recoger el resultado de popen2.popen3 en tres fichero imprimo el de error(pe) y no funciona porque da el siguiente error
--- Código: Text --- ['El nombre de archivo, directorio o etiqueta del volumen no es v/xaolido./n']
he probado con todo, pasarle la direccion del archivo entera es decir el path entero
lematizarTexto(C:/Python23/prueba.txt
pero no consigo arreglar el error.
Navegación
Ir a la versión completa