Foros del Web » Programando para Internet » Python »

Problemas con codigo Python

Estas en el tema de Problemas con codigo Python en el foro de Python en Foros del Web. buenas tengo este código el cual tengo un problema con la variable combo que una ventana desplegable el hace el llamado correcto.. a una carpeta ...
  #1 (permalink)  
Antiguo 02/11/2011, 12:59
 
Fecha de Ingreso: octubre-2011
Mensajes: 31
Antigüedad: 13 años, 2 meses
Puntos: 7
Problemas con codigo Python

buenas tengo este código el cual tengo un problema con la variable combo que una ventana desplegable el hace el llamado correcto.. a una carpeta y me examina lo tiene adentro... el problema es que lo muestra no lo muestra correctamente y no se como acomodarlo lo deberia mostrar asi:

ejemplo
primera base
popular

pero en lugar de eso hace:
e
j
e
m
p
l
o
......
y así hasta colocar todas las letras dentro de la ventana desplegable... la linea del código donde esta el llamado a la carpeta esta en comentario para que pueda correr...
si alguien me podría ayudar seria de mucha ayuda gracias aquí les dejo el código...
Código Python:
Ver original
  1. import os
  2. import gtk
  3. from subprocess import Popen, PIPE
  4.  
  5. #-----------buscar la carpetaaaaaaa--------
  6. #os.chdir("/usr/share/canaima-semilla/perfiles")
  7. process = Popen(["dir"], shell=False, stdout=PIPE)
  8. text = process.stdout.read()
  9.  
  10.  
  11. class MyApp1():
  12.  
  13.     #--------------------------------buscar la carpeta
  14.     def ver3(self, widget, data=None):
  15.         #os.chdir("/usr/share/canaima-semilla/perfiles")
  16.         process = Popen(["ls"], shell=True, stdout=PIPE)
  17.        
  18.         #-----------
  19.         text = process.stdout.read()
  20.         buffer = gtk.TextBuffer()
  21.         buffer.set_text(text)
  22.         self.textView.set_buffer(buffer)
  23.    
  24.     def __init__(self):
  25.         self.window = gtk.Window()
  26.         self.window.set_border_width(0)
  27.         self.window.set_title("CANAIMA SEMILLA")
  28.         self.window.set_size_request(520, 600)
  29.         #-------------------caja
  30.         self.vbox = gtk.VBox(gtk.FALSE, 0)
  31.         #------------------ boton
  32.         self.button = gtk.Button("llamando archivo")
  33.         self.button.connect("clicked", self.ver3, None)
  34.         #-----------------campo de texto------
  35.         self.textView = gtk.TextView()
  36.         #-----------------------------------
  37.         self.combo = gtk.Combo()
  38.         self.combo.entry.set_text(text)
  39.         self.combo.set_popdown_strings(text)
  40.        
  41.         self.vbox.add(self.combo)
  42.         self.vbox.add(self.textView)
  43.         self.vbox.add(self.button)
  44.         self.window.add(self.vbox)
  45.        
  46.         self.window.connect("destroy", gtk.main_quit)
  47.         self.window.show_all()
  48.  
  49.  
  50. if __name__ == "__main__":
  51.     app = MyApp1()
  52.     gtk.main()
  #2 (permalink)  
Antiguo 02/11/2011, 17:26
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Problemas con codigo Python

Para saber los archivos que tienes en un directorio te recomiendo fuertemente usar la funcion walk que se encuentra en el modulo os.

Modulo os función walk.

Ejemplo:
Código Python:
Ver original
  1. import os
  2.  
  3. g = os.walk(r"/ruta/a/mi/carpeta")
  4.  
  5. for raiz, carpetas, archivos in g:
  6.     print (raiz, carpetas, archivos)
  #3 (permalink)  
Antiguo 04/11/2011, 10:10
 
Fecha de Ingreso: octubre-2011
Mensajes: 31
Antigüedad: 13 años, 2 meses
Puntos: 7
Respuesta: Problemas con codigo Python

gracias amigo... por su respuesta.... lo de las ventana desplegable no sabe porque me pasa lo que me pasa cuando trato de meter la variable a la ventana... porque cuando lo hago en un buffer si lo hace bien pero en la ventana desplegable no lo hace de esa manera...
  #4 (permalink)  
Antiguo 04/11/2011, 10:26
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Problemas con codigo Python

Código Python:
Ver original
  1. import os
  2. import gtk
  3.  
  4. class MyApp1():
  5.  
  6.  
  7.     def ver3(self, widget, data=None):
  8.         buffer = gtk.TextBuffer()
  9.         buffer.set_text('\n'.join(self.text))
  10.         self.textView.set_buffer(buffer)
  11.    
  12.     def __init__(self):
  13.        
  14.         self.text = next(os.walk("."))[2]
  15.        
  16.         self.window = gtk.Window()
  17.         self.window.set_border_width(0)
  18.         self.window.set_title("CANAIMA SEMILLA")
  19.         self.window.set_size_request(520, 600)
  20.         #-------------------caja
  21.         self.vbox = gtk.VBox()
  22.         #------------------ boton
  23.         self.button = gtk.Button("llamando archivo")
  24.         self.button.connect("clicked", self.ver3, None)
  25.         #-----------------campo de texto------
  26.         self.textView = gtk.TextView()
  27.         #-----------------------------------
  28.         self.combo = gtk.Combo()
  29.         self.combo.set_popdown_strings(self.text)
  30.        
  31.         self.vbox.add(self.combo)
  32.         self.vbox.add(self.textView)
  33.         self.vbox.add(self.button)
  34.         self.window.add(self.vbox)
  35.        
  36.         self.window.connect("destroy", gtk.main_quit)
  37.         self.window.show_all()
  38.  
  39.  
  40. if __name__ == "__main__":
  41.     app = MyApp1()
  42.     gtk.main()
Tal vez deberías de empezar aprendiendo python. En vez de irte de lleno con aplicaciones de escritorio.
  #5 (permalink)  
Antiguo 04/11/2011, 10:51
 
Fecha de Ingreso: octubre-2011
Mensajes: 31
Antigüedad: 13 años, 2 meses
Puntos: 7
Respuesta: Problemas con codigo Python

uff gracias de verdad amigo por su respuesta... :D GRACIAS... :D

Etiquetas: Ninguno
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 08:36.