¿Cómo puedo tener un script de Python que a) pueda aceptar la entrada del usuario y cómo puedo hacer que b) lea los argumentos si se ejecuta desde la línea de comandos?
Para leer la entrada del usuario puedes probar el módulo cmd
para crear fácilmente un mini intérprete de línea de comandos (con textos de ayuda y autocompletado) y raw_input
(input
para Python 3+) para leer una línea de texto del usuario.
text = raw_input("prompt") # Python 2
text = input("prompt") # Python 3
Las entradas de la línea de comandos están en sys.argv
. Prueba esto en tu script:
import sys
print (sys.argv)
Hay dos módulos para analizar las opciones de la línea de comandos: (obsoleto desde Python 2.7, usa optparse
argparse
en su lugar) y getopt
. Si sólo quieres introducir archivos en tu script, contempla el poder de fileinput
.
La referencia de la biblioteca Python es tu amiga.
La mejor manera de procesar los argumentos de la línea de comandos es el módulo argparse
.
Usa raw_input()
para obtener la entrada del usuario. Si importa el módulo readline
sus usuarios tendrán edición de líneas e historial.