Foros del Web » Programando para Internet » Python »

Capturar salida del shell

Estas en el tema de Capturar salida del shell en el foro de Python en Foros del Web. Saludos! tengo un problema al capturar la salida que me da el shell, estoy trabajando con gtk2 para hacer una interfaz gráfica, y no encuentro ...
  #1 (permalink)  
Antiguo 07/11/2011, 07:50
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Capturar salida del shell

Saludos! tengo un problema al capturar la salida que me da el shell, estoy trabajando con gtk2 para hacer una interfaz gráfica, y no encuentro como hacer la condición para validar la salida, aqui dejo el código de lo que llevo hasta ahora.
Agradezco de antemano a quien me pueda ayudar.

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import os
  4. import gtk
  5. from subprocess import Popen, PIPE, STDOUT
  6.  
  7. texto = gtk.Entry()
  8.  
  9. def buscar(self, data=None):
  10.     #a= os.system('aptitude search '+texto6.get_text())
  11.     p = Popen('aptitude search '+texto.get_text(), stdout=PIPE, stderr = STDOUT, shell=True)
  12.     validar = p.stdout.read().split('\n')[0]
  13.     #print validar
  14.    
  15.     if validar == False:
  16.         message = gtk.MessageDialog(buttons=gtk.BUTTONS_OK, message_format="El paquete fue encontrado")
  17.         message.run()
  18.         message.hide()
  19.         print validar
  20.     else:
  21.         md=gtk.MessageDialog(buttons=gtk.BUTTONS_CLOSE, message_format="El paquete introducido no existe")
  22.         md.run()
  23.         md.destroy()
  24.  
  25. class Configuracion():
  26.    
  27.     def __init__(self):
  28.         self.ventana = gtk.Window(gtk.WINDOW_TOPLEVEL)
  29.         self.ventana.set_title("CONFIGURANDO")
  30.         self.ventana.set_border_width(10)
  31.         self.ventana.set_size_request(250, 200)
  32.         self.ventana.set_resizable(False)
  33.        
  34.         caja = gtk.HBox()
  35.         caja.set_border_width(10)
  36.        
  37.         etiqueta=gtk.Label("Paquete: ")
  38.        
  39.         texto.connect("activate", buscar)
  40.         texto.set_text("Escriba")
  41.  
  42.         caja.pack_start(etiqueta, False)
  43.         caja.pack_start(texto, False)
  44.        
  45.         self.ventana.add(caja)
  46.         self.ventana.show_all()
  47.        
  48.            
  49. if __name__ == "__main__":
  50.     app = Configuracion()
  51.     gtk.main()
  52. [HIGHLIGHT="Python"]
[/HIGHLIGHT]
  #2 (permalink)  
Antiguo 07/11/2011, 10:02
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Capturar salida del shell

Me pregunto que quieres validar.
  #3 (permalink)  
Antiguo 07/11/2011, 10:38
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Respuesta: Capturar salida del shell

Quiero validar la salida que me da el shell, en el método buscar trato de hacerlo pero siempre me toma la segunda opción, estoy trabajando con un sistema operativo basado en Debian y quiero hacer una búsqueda de paquetes disponibles con el comando "aptitude search" y quiero que valide si el paquete existe o no.
De antemano muchas gracias.
  #4 (permalink)  
Antiguo 07/11/2011, 12:14
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Capturar salida del shell

Linea 15 de tu programa:

Código Python:
Ver original
  1. if validar == False:

Debería de ser

Código Python:
Ver original
  1. if validar:

Etiquetas: salida, shell, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:06.