Underc0de

Programación Scripting => Python => Mensaje iniciado por: JaAViEr en Junio 04, 2011, 01:05:19 AM

Título: [Código-Python] Consola Instantanea V1 - JaAViEr
Publicado por: JaAViEr en Junio 04, 2011, 01:05:19 AM
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
Código (python) [Seleccionar]

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.