Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/09/2008, 16:48
gonzo13
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 6
Menú en python

Hola a todos.

Esta misma tarde me he puesto a programar python. Hace una semana más o menos, estaba aburrido y me dio por hacer un instalador para Linux en Shell Scripts (es una tonteria, pero al menos estube entretenido) y busque en google la forma de ponerle un menu y anclar cada opcion del menu a su correspondiente accion.
Ahora estoy intentando hacerlo en Python, pero no consigo hacer el menu ni anclar las opciones a una funcion para colocar los comandos (que logicamente he de ponerlos en Shell Scripts, pero eso si se como se hace) Podrian darme alguna solucion? Estoy bastante ilusionado con este tema.

Gracias de antemano.

La cosa me quedo más o menos asi en Shell Script
Código bash:
Ver original
  1. #/bin/sh
  2. clear
  3. #------------------------ Menu -------------------------------------
  4. echo "Instalador Gnu/Linux de gonzo"
  5. echo "========="
  6. echo "Seleeciona la opción deseada"
  7. echo "1.- Actualizar repositorios."
  8. echo "2.- Actualizar la distribucion."
  9. echo "3.- Instalar una aplicación."
  10. echo "4.- Desinstalar una aplicación."
  11. echo "5.- Salir."
  12.  
  13. #------------------------- Fin menu ------------------------------------
  14.  
  15. read opcion
  16. case $opcion in
  17.  
  18. #------------------ Inicio opcion 1 -------------------
  19.  
  20. 1)
  21. echo "Bienvenido al actualizador de repositorios"
  22. echo "Se actualizaran los repositorios a continuación, ¿Desea continuar?[S/n]"
  23. read resp
  24. if test $resp = s
  25. then
  26. sudo apt-get -qq update && echo "Actualización de repositorios..."&& sleep 1 && echo "[ok]" || echo "[fail]"  
  27.  
  28. #------- Fin actualizacion de repositorios -----------------------
  29.  
  30. echo "¿Desea hacer otra operacion? [S/n]"
  31. read new
  32.     if test $new = s
  33.     then
  34.     sh instalador.sh
  35.     else
  36.     echo "Saliendo del instalador.... [ok]"
  37.     fi
  38. else
  39. echo "Actualizacion cancelada por el usuario..."
  40. fi
  41. ;;
  42.  
  43. #---------------------- Fin opcion 1 --------------------------
  44. #---------------------- Inicio opcion 2 -------------------------
  45.  
  46. 2)
  47. echo "Bienvenido al actualizador de tu distribucion Gnu/Linux"
  48. echo "Es recomendable actualizar tus repositorios ahora, ¿quieres hacerlo? Tu distribución se actualizara igualmente [S/n]"
  49. read ans
  50. if test $ans = s
  51. then
  52. sudo apt-get -qq update
  53. sudo apt-get -qq -y dist-upgrade && echo "Distribucion actualizada...."
  54.     echo "¿Desea hacer otra operacion? [S/n]"
  55.     read nuv
  56.         if test $nuv = s
  57.         then
  58.         sh instalador.sh
  59.         else
  60.         echo "Saliendo del instalador.... [ok]"
  61.         fi
  62. else
  63. echo "No se actualizaran los repositorios, quieres empezar con la actualizacion de tu distribucion?[S/n]"
  64. read actual
  65.     if test $actual = s
  66.     then
  67.     sudo apt-get -qq -y dist-upgrade && echo "Distribucion actualizada...."
  68.     echo "¿Desea hacer otra operacion? [S/n]"
  69.     read nuev
  70.         if test $nuev = s
  71.         then
  72.         sh instalador.sh
  73.         else
  74.         echo "Saliendo del instalador...."&& echo "[ok]"|| echo "Operacion errónea"
  75.         fi
  76.     else
  77.     echo "Saliendo del instalador.... [ok]"
  78.     fi
  79. fi
  80. ;;
  81.  
  82. #-------------- Fin opcion 2 ----------------------
  83. #-------------- Inicio opcion 3 ---------------------
  84. 3)
  85. echo "Bienvenido al instalador de aplicaciones"
  86. echo "Introduce el nombre del programa a instalar:"
  87. read prog
  88. echo "¿Seguro que quieres instalar: "$prog"? [S/n]"
  89. read ans
  90. if test $ans = s
  91. then
  92. sudo apt-get install -y $prog && echo "Instalación completada con éxito"|| echo "Instalacion errónea o innecesaria"
  93.     echo "¿Desea hacer otra operacion? [S/n]"
  94.     read nov
  95.         if test $nov = s
  96.         then
  97.         sh instalador.sh
  98.         else
  99.         echo "Saliendo del instalador.... [ok]"
  100.         fi
  101. else
  102. echo "Instalacion abortada por el usuario..."
  103. fi
  104. ;;
  105.  
  106. #------------ Fin opcion 3 ------------------
  107. #------------ Inicio opcion 4 -----------------
  108. 4)
  109. echo "Bienvenido al desinstalador de aplicaciones"
  110. echo "Introduce el nombre del programa a desinstalar:"
  111. read progr
  112. echo "¿Seguro que quieres instalar: "$progr"? [S/n]"
  113. read ansr
  114. if test $ansr = s
  115. then
  116. sudo apt-get remove --purge -y $progr && echo "Desinstalación completada con éxito"|| echo "Desinstalacion errónea o innecesaria"
  117.     echo "¿Desea hacer otra operacion? [S/n]"
  118.     read nova
  119.         if test $nova = s
  120.         then
  121.         sh instalador.sh
  122.         else
  123.         echo "Saliendo del instalador.... [ok]"
  124.         fi
  125. else
  126. echo "Desinstalacion abortada por el usuario..."
  127. fi
  128. ;;
  129. #------------ Fin opcion 4 ----------------------
  130. #------------ Inicio opcion 5 ----------------------
  131. 5)
  132. echo "Saliendo del instalador.... [ok]"
  133. ;;
  134. #----------- Fin opcion 5 -------------------------
  135. esac
  136. echo "Gracias por tu confianza"
  137. exit 0

Última edición por gonzo13; 23/09/2008 a las 15:15