Hola a todos!,
Les traigo una consola de comandos (como el cmd).
Programada en python, opinar, y comenten cosas a mejorar!
Kyurem v 1,0
[ ] COMANDOS
HELP: Muestra la lista de comandos de la shell
-H: Muestar la lista de los comandos de la shell
DEL: Elimina el archivo marcado
XDEL: Elimina la carpeta marcada
PRINT: Muestra mensajes en la pantalla
READ: Abre el archivo en modo escritura
WANT: Buasca un todos los archivo con extension a elegir
DIR: Muestra el directorio actual"
CD: Cambia de directorio al directorio selecionado
LAST: Muestra la fecha de la ultima midificacion del un archivo marcado
EXIT: Sale de la consola de comandos
#!/usr/bin/python
from pprint import pprint
import shutil
import glob
import time
import sys
import os
print "\n"
print " Kyurem v1.0"
print " -------------------------------------------------------------------"
print " Consola de comando realizada en python >>>\n\n\n"
print " Kyurem Software\n NRS\n"
def menu():
os.system("color 0a")
opcion = 0
while opcion <1 or opcion >10:
opcion = raw_input('>>> ')
return opcion
opcion = 0
while opcion !=16:
opcion = menu()
if opcion == "help":
print "\nHELP: Muestra la lista de comandos de la shell"
print "-H: Muestar la lista de los comandos de la shell"
print "DEL: Elimina el archivo marcado"
print "XDEL: Elimina la carpeta marcada"
print "COPY: Copia un archivo en un directorio"
print "PRINT: Muestra mensajes en la pantalla"
print "READ: Abre el archivo en modo escritura"
print "WANT: Buasca un todos los archivo con extension a elegir"
print "DIR: Muestra el directorio actual"
print "CD: Cambia de directorio al directorio selecionado"
print "LAST: Muestra la fecha de la ultima midificacion del un archivo marcado"
print "EXIT: Sale de la consola de comandos\n"
if opcion == "-h":
print "\nHELP: Muestra la lista de comandos de la shell"
print "-H: Muestar la lista de los comandos de la shell"
print "DEL: Elimina el archivo marcado"
print "XDEL: Elimina la carpeta marcada"
print "COPY: Copia un archivo en un directorio"
print "PRINT: Muestra mensajes en la pantalla"
print "READ: Abre el archivo en modo escritura"
print "WANT: Buasca un todos los archivo con extension a elegir"
print "DIR: Muestra el directorio actual"
print "CD: Cambia de directorio al directorio selecionado"
print "LAST: Muestra la fecha de la ultima midificacion del un archivo marcado"
print "EXIT: Sale de la consola de comandos\n"
if opcion == "HELP":
print "\nHELP: Muestra la lista de comandos de la shell"
print "-H: Muestar la lista de los comandos de la shell"
print "DEL: Elimina el archivo marcado"
print "XDEL: Elimina la carpeta marcada"
print "COPY: Copia un archivo en un directorio"
print "PRINT: Muestra mensajes en la pantalla"
print "READ: Abre el archivo en modo escritura"
print "WANT: Buasca un todos los archivo con extension a elegir"
print "DIR: Muestra el directorio actual"
print "CD: Cambia de directorio al directorio selecionado"
print "LAST: Muestra la fecha de la ultima midificacion del un archivo marcado"
print "EXIT: Sale de la consola de comandos\n"
if opcion == "-H":
print "\nHELP: Muestra la lista de comandos de la shell"
print "-H: Muestar la lista de los comandos de la shell"
print "DEL: Elimina el archivo marcado"
print "XDEL: Elimina la carpeta marcada"
print "COPY: Copia un archivo en un directorio"
print "PRINT: Muestra mensajes en la pantalla"
print "READ: Abre el archivo en modo escritura"
print "WANT: Buasca un todos los archivo con extension a elegir"
print "DIR: Muestra el directorio actual"
print "CD: Cambia de directorio al directorio selecionado"
print "LAST: Muestra la fecha de la ultima midificacion del un archivo marcado"
print "EXIT: Sale de la consola de comandos\n"
if opcion.startswith("del") == True:
rut = opcion[4:]
try:
os.remove(rut)
print "\nEL archivo a sido eliminado con exito.\n"
except:
print "\nERROR El archivo no a podido ser eliminado.\n"
if opcion.startswith("xdel") == True:
arc1 = opcion[5:]
boo = True
try:
shutil.rmtree(arc1, boo)
print "\nLa carpeta a sido eliminada.\n"
except:
print "ERROR La carpeta no a podido ser eliminado.\n"
if opcion.startswith("print") == True:
rut = []
rut = opcion[6:]
print rut
if opcion == "copy":
arc3 = raw_input("\nIntroduce la ruta del archivo a copiar:")
arc4 = raw_input("Introduce la ruta donde se copiara el archivo:")
try:
shutil.copy(arc3, arc4)
print "\nEl archivo a sido copiado."
except:
print "ERROR El arhivo no a sido copiado.\n"
if opcion.startswith("read") == True:
red = opcion[5:]
try:
archi = open(red,'r')
linea=archi.readline()
while linea!="":
print linea
linea=archi.readline()
except:
print "ERROR El archivo no a podido ser abierto en mode lectura."
elif opcion.startswith("want") == True:
arc = []
arc = opcion[5:]
try:
lista = glob.glob("*" + arc)
print "Aerchivos con extension",arc,"En este directorio:"
print "\n", lista
except:
print "ERROR No se a encontrado el archivo con la extension que pide."
elif opcion.startswith("dir") == True:
arc = []
arc = opcion[4:]
try:
os.chdir(arc)
print "\n\nDirectorio:", arc, "\n\n"
pprint([(x[0], time.ctime(x[1].st_ctime)) for x in sorted([(fn, os.stat(fn)) for fn in os.listdir(arc)], key = lambda x: x[1].st_ctime)])
print '\n'
except:
print "\n\n",'Directorio actual:' , os.getcwd(), '\n\n'
pprint([(x[0], time.ctime(x[1].st_ctime)) for x in sorted([(fn, os.stat(fn)) for fn in os.listdir(".")], key = lambda x: x[1].st_ctime)])
print '\n'
elif opcion.startswith("cd") == True:
arc = []
arc = opcion[3:]
try:
os.chdir(arc)
print os.getcwd()
except:
print os.getcwd()
elif opcion.startswith("last") == True:
arcx = opcion[5:]
try:
metadata = os.stat(arcx)
metadata.st_mtime
time.localtime(metadata.st_mtime)
print '\n', time.localtime(metadata.st_mtime), '\n'
except:
print "ERROR Archivo no definido."
elif opcion == "exit":
exit()
Gracias, ojala les gusten! :)
Supongo que no esta mal aunque hay muchas lineas que te podias haber ahorrado y asi optimizar code.
Por ejemplo en lugar de usar varios if para cubrir las opciones de help, -h y demas podrias meter estas en una lista y usar if x in por ejemplo