29-09-2018, 10:12 PM
(Última modificación: 30-10-2018, 03:06 PM por konniskatt.)
PyConio (Python console I/O) es un módulo que provee funciones útiles para trabajar con la I/O de la consola.
Todas las funciones de PyConio tienen el similar comportamiento que conio.h.
Y lo mejor es que es Cross Platform. (osea que funciona en todas las plataformas)
Este módulo esta bajo la licencia GNU GPL v2.
Instalación
Simplemente ejecuta esto:
en modo administrador o sudo, dependiendo de tu sistema operativo.
Funciones
Colorear texto (paleta de 4 Bits, 16 colores):
Lista de colores de la paleta de 4 Bits:
Black, Blue, Green, Red, Yellow, Cyan, Magenta, White, Gray, LightRed, LightGreen, LightBlue, LightWhite, LightYellow, LightCyan y LightMagenta.
Coloreando texto (paleta extendida de 8 Bits, 256 colores)
[/code]
Puedes encontrar más info aquí.
Coloreando texto (24 Bits paleta True RGB, 16,777,216 colores)
La paleta de 8 Bits y RGB sólo están disponibles para sistemas POSIX (GNU/Linux, GNU Hurd, MacOSX, Android, etc) y sólo para Windows 10 TH2 en adelante.
Nota: Cuando el programa termina, se reinicia los colores automátcamente
Controlando la posición del cursor:
Leer teclado:
getch():
Lee una tecla del teclado sin esperar que el usuario presione enter y retorna la tecla.
getche():
Al igual que getch(), pero imprime la tecla presionada.
getchar():
Lee una letra del teclado, pero espera hasta que el usuario presione enter.
kbhit():
Detecta si una tecla ha sido presionada.
Colocando título a la consola:
Pausar la ejecución del programa:
Escondiendo y mostrado el cursor:
Limpiar la pantalla:
Obtener el tamaño de la consola:
Retorna: tupla con tamaño X & Y de la consola.
Ejemplos
Un (muy) simple juego hecho usando PyConio.
PD: el código de este "juego" está en la misma repo (pyconio/demo/Walk.py), y viene incluido con el módulo.
Si quieren pueden enviarme por MP cosas relevantes que usen con este módulo, y lo pondré aquí.
Compatibilidad
Este módulo ha sido probado en Windows (10), en GNU/Linux (Ubuntu, Debian y Ubuntu WSL) y en Android usando Pydroid 3.
Cualquier problema o sugerencia, comuníquenla atravez de un MP.
La repo está acá, en caso de que quieran contribuir, o si tienen un problema, aunque preferiblemente si el problema será escrito en español, mejor escríbanme un MP como dije anteriormente.
Saludos!
Todas las funciones de PyConio tienen el similar comportamiento que conio.h.
Y lo mejor es que es Cross Platform. (osea que funciona en todas las plataformas)
Este módulo esta bajo la licencia GNU GPL v2.
Instalación
Simplemente ejecuta esto:
Código:
[code]
pip3 install pyconio
[/code]
Funciones
Colorear texto (paleta de 4 Bits, 16 colores):
Código:
[code]
from pyconio import *
textcolor(Red)
print("El texto esta en rojo!")
textbackground(Green) # Color de texto se mantiene
print("Esto es un texto con fondo verde!")
textcolor(Red)
textbackground(Green)
print("spam")
reversevideo()
# Ahora el color de texto es verde y fondo es rojo
normvideo()
# Reinicia la consola a sus configuraciones por defecto
[/code]
Lista de colores de la paleta de 4 Bits:
Black, Blue, Green, Red, Yellow, Cyan, Magenta, White, Gray, LightRed, LightGreen, LightBlue, LightWhite, LightYellow, LightCyan y LightMagenta.
Coloreando texto (paleta extendida de 8 Bits, 256 colores)
Código:
[code]
from pyconio import *
textcolor(69, 8)
print("Aquí")
textcolor(34, 8)
print("usando")
textcolor(208, 8)
print("la")
textcolor(196, 8)
print("paleta")
textcolor(226, 8)
print("de")
textcolor(87, 8)
print("256 colores!")
Puedes encontrar más info aquí.
Coloreando texto (24 Bits paleta True RGB, 16,777,216 colores)
Código:
[code]
from pyconio import *
import colorsys as clsy
for i in range(256):
color = clsy.hsv_to_rgb(i / 255, 1, 1)
color = int(color[0] * 255), int(color[1] * 255), int(color[2] * 255)
rgb_backgroundcolor(color[0], color[1], color[2]) # R, G, B
print()
pause()
[/code]
La paleta de 8 Bits y RGB sólo están disponibles para sistemas POSIX (GNU/Linux, GNU Hurd, MacOSX, Android, etc) y sólo para Windows 10 TH2 en adelante.
Nota: Cuando el programa termina, se reinicia los colores automátcamente
Controlando la posición del cursor:
Código:
[code]
from pyconio import *
gotoxy(5, 5)
print("El cursor está ahora en x:5 and y:5")
[/code]
Leer teclado:
Código:
[code]
from pyconio import *
c = getch()
print("Presionaste: %s" % c)
[/code]
Lee una tecla del teclado sin esperar que el usuario presione enter y retorna la tecla.
getche():
Al igual que getch(), pero imprime la tecla presionada.
getchar():
Lee una letra del teclado, pero espera hasta que el usuario presione enter.
kbhit():
Detecta si una tecla ha sido presionada.
Colocando título a la consola:
Código:
[code]
from pyconio import *
title("eggs")
[/code]
Pausar la ejecución del programa:
Código:
[code]
from pyconio import *
pause()
pause("Programa pausado ")
[/code]
Escondiendo y mostrado el cursor:
Código:
[code]
from pyconio import *
hidecur() # El cursor está oculto
showcur() # Ahora el cursor no lo está
[/code]
Limpiar la pantalla:
Código:
[code]
from pyconio import *
clrscr()
[/code]
Obtener el tamaño de la consola:
Código:
[code]
from pyconio import *
a = gettermsz()
[/code]
Ejemplos
Un (muy) simple juego hecho usando PyConio.
PD: el código de este "juego" está en la misma repo (pyconio/demo/Walk.py), y viene incluido con el módulo.
Si quieren pueden enviarme por MP cosas relevantes que usen con este módulo, y lo pondré aquí.
Compatibilidad
Este módulo ha sido probado en Windows (10), en GNU/Linux (Ubuntu, Debian y Ubuntu WSL) y en Android usando Pydroid 3.
Cualquier problema o sugerencia, comuníquenla atravez de un MP.
La repo está acá, en caso de que quieran contribuir, o si tienen un problema, aunque preferiblemente si el problema será escrito en español, mejor escríbanme un MP como dije anteriormente.
Saludos!
-konn