Bueno, el titulo dice un poco...
Es una "consola" que nos permite ejecutar comandos
simulados por mi en la consola, pero la idea es no utilizar mucho
el ENTER , mas bien al escribir el comando que se ejecute.
Comandos disponibles :
Menu de ayuda:
1.- Title : Cambia el titulo.
2.- Type : Visualizar un archivo - Windows
3.- Cat : Visualizar un archivo - Unix
4.- Strlen : Cuenta caracteres de una cadena.
5.- Exit : Salir.
Luego agrego mas comandos y mejoras para la V2
import msvcrt, os, os.path
salida=""
ver=0
def ayuda():
clear()
print """
Menu de ayuda:
1.- Title : Cambia el titulo.
2.- Type : Visualizar un archivo - Windows
3.- Cat : Visualizar un archivo - Unix
4.- Strlen : Cuenta caracteres de una cadena.
5.- Exit : Salir."""
os.system("pause")
def direct():
if os.name == 'posix':
os.system('ls')
os.system("pause")
elif os.name == 'nt':
os.system('dir')
os.system("pause")
def title():
ver=0
titulox=""
while ver!=chr(13):
clear()
print "$Console-> title\nTitulo:%s"%titulox,
ver = msvcrt.getch()
titulox+=ver
if ver==chr(8):
titulox=titulox[:-2]
os.system("title %s"%titulox)
os.system("pause")
def clear():
if os.name == "posix":
os.system('clear')
elif os.name == "nt":
os.system('cls')
def typex():
if os.name == 'posix':
ver=0
viendo=""
while ver!=chr(13):
clear()
print "$Console-> cat\nArchivo:%s"%viendo
ver = msvcrt.getch()
viendo+=ver
if ver==chr(8):
viendo=viendo[:-2]
sal=os.path.isfile(viendo)
if sal==1:
os.system("cat %s"%viendo)
os.system("pause")
break
if os.name == 'nt':
ver=0
viendo=""
while ver!=chr(13):
clear()
print "$Console-> type\nArchivo:%s"%viendo
ver = msvcrt.getch()
viendo+=ver
if ver==chr(8):
if len(viendo)<=1:
viendo=viendo[:-1]
viendo=viendo[:-2]
sal=os.path.isfile(viendo)
if sal==1:
os.system("type %s"%viendo)
os.system("pause")
break
def strlen():
ver=0
viendo=""
fin=0
while ver!=chr(13):
clear()
print "$Console-> strlen\nString:%s"%viendo
print "Caracteres:", fin
ver = msvcrt.getch()
viendo+=ver
fin=len(viendo)
if ver==chr(8):
viendo=viendo[:-2]
os.system("Pause:")
salida=""
while 1:
clear()
print "Instant Console - JaAViEr 2011 \n\n$Console->",salida
char = msvcrt.getch()
salida+=char
if salida.lower()=='dir' or salida.lower()=='ls':
direct()
salida=""
elif salida.lower()=='help':
ayuda()
salida=""
elif salida.lower()=='strlen':
strlen()
salida=""
elif salida.lower()=='title':
title()
salida=""
elif salida.lower()=='exit':
clear()
break
salida=""
elif salida.lower()=='type' or salida.lower() == 'cat':
typex()
salida=""
elif char==chr(27):
break
elif char==chr(13):
salida=""
clear()
elif char==chr(8):
salida=salida[:-2]
Saludos.