bueno todavía estoy practicando python en consola y después sigo con pygtk ![]()
pero todavía falta.
que hay de nuevo esta vez? …se llama curses
no tiene nada que ver con cursos(esta bien escrito) curses, es un modulo de python para manejar algo como una terminal virtual.
quien ya maneja ncurses sabe de que hablo. para quien a usado conio.h es algo parecido pero no igual (yo no he usado “eso”)
curses permite controlar el entorno de la consola virtual que crea. No me voy a poner a explicar todo acá, dejo los enlaces que encontré, en ingles, en español no encontré algo con bastante información.
documentación oficial sobre el modulo curses de python:
http://docs.python.org/lib/module-curses.html
una pequeña guia:
http://www.amk.ca/python/howto/curses/curses.html
de resto en google se encuentra mas
ahora un ejemplo que hice de como funciona:
archivo: pymats.py
#!/usr/bin/env pthon
# -*- coding: utf-8 -*-
import sys
import curses
from primos import primo
try:
stdscr = curses.initscr()
curses.echo()
i = 0
while i < 1:
stdscr.addstr(“=== scripts de matemáticas en python ===\\n\\n”)
lista_menu = ["nprimo" , "mcm" , "mcd"]
cont_menu = 0
for n in lista_menu:
cont_menu = cont_menu + 1
stdscr.addstr(“%d - %s\\n” % (cont_menu, n))
stdscr.addstr(“0 - Salir”)
stdscr.addstr(“\\n\\n introdusca una opción: “)
opt = stdscr.getstr()
opt = opt.lower()
if opt == “nprimo” or opt == “1″:
primo()
elif opt == “mcm” or opt == “2″:
stdscr.clear()
stdscr.addstr(“mcm\\n\\n”)
elif opt == “mcd” or opt == “3″:
stdscr.clear()
stdscr.addstr(“mcd\\n\\n”)
elif opt == “salir” or opt == “0″:
curses.endwin()
sys.exit()
else:
stdscr.clear()
stdscr.addstr(“error-menu\\n\\n”)
curses.flash()
except:
curses.endwin()
sys.exit()
archivo: primos.py
# -*- coding: utf-8 -*-
import sys
import curses
def primo():
try:
stdscr = curses.initscr()
stdscr.clear()
stdscr.addstr(“=== Numeros primos ===\\n”)
stdscr.addstr(“\\n introdusca un numero: “)
numero = int(stdscr.getstr())
nprimo = True
for i in range(2,numero):
if numero % i == 0:
nprimo = False
break
if nprimo:
stdscr.addstr(“\\nes número primo\\n\\n”)
else:
stdscr.addstr(“\\nNO es número primo\\n\\n”)
except:
stdscr.addstr(“\\nerror-primo\\n\\n”)
curses.flash()
nota:
para pasar el código de python a html utilice Source-highlight
http://www.gnu.org/software/src-highlite/
acá esta el código fuente para bajar y probar, bajo licencia GPL ![]()
descargar: pymats.tar










One Comment
En lugar de PyGtk mira simplegladeapp está bastante bueno para hacer aplicaciones de forma rápida
siguien el modelo MVC.
http://kefir.sourceforge.net/tepache/
http://kefir.sourceforge.net/tepache/SimpleGladeAppReference.html
http://www.gnomefiles.org/app.php/SimpleGladeApp.py
En la liga de gnomefiles ese paquete viene con ejemplos.