Python
En esta lección, además de describir más detalladamente del uso de print para mostrar mensajes al usuario, aprenderemos a utilizar las funciones input yraw_input para pedir información,así como los argumentos de línea de comandos y, por último, la entrada /salida de ficheros.
ENTRADA ESTÁNDAR
La forma más sencilla de obtener información por parte del usuario es mediante la función raw_input. Esta función toma como parámetro una cadena a usar como prompt (es decir, como texto a mostrar al usuario pidiendo la entrada) y devuelve una cadena con los caracteres introducidos porel usuario hasta que pulsó la tecla Enter. Veamos un pequeño ejemplo:
nombre = raw_input("Como te llamas? ") print "Encantado, " + nombre
Si necesitáramos un entero como entrada en lugar de una cadena, por ejemplo, podríamos utilizar el constructor de int para convertir la cadena a entero, aunque sería conveniente tener en cuenta que puede lanzarse una excepción si lo que introduce elusuario no es un número.
try: edad = raw_input("Cuantos anyos tienes? ") dias = int(edad) * 365 print "Has vivido " + str(dias) + " dias" except ValueError: print "Eso no es un numero"
La
función input es
un
poco
más
complicada.
Lo
que
hace
esta
función
es
utilizarraw_input para leer una cadena de la entrada estándar, y después pasa a evaluarla como si de códigoPython se tratara; por lo tanto input debería tratarse con sumo cuidado.
PARÁMETROS DE LÍNEA DE COMANDO
Además del uso de input y raw_input el programador Python cuenta con otros métodos para obtener datos del usuario. Uno de ellos es el uso de parámetros a la hora de llamar al programa en la línea de comandos. Por ejemplo:
python editor.py hola.txt
En este caso hola.txt sería elparámetro, al que se puede acceder a través de la lista sys.argv, aunque, como es de suponer, antes de poder utilizar dicha variable debemos importar el módulo sys. sys.argv[0] contiene siempre el nombre del programa tal como lo ha ejecutado el usuario, sys.argv[1], si existe, sería el primer parámetro; sys.argv[2] el segundo, y así sucesivamente.
import sys
if(len(sys.argv) > 1): print "Abriendo" + sys.argv[1] else: print "Debes indicar el nombre del archivo "
Existen módulos, como optparse, que facilitan el trabajo con los argumentos de la línea de comandos, pero explicar su uso queda fuera del objetivo de esta lección.
SALIDA ESTÁNDAR
La forma más sencilla de mostrar algo en la salida estándar es mediante el uso de la sentencia print, como hemos visto multitud de veces enejemplos anteriores. En su forma más básica a la palabra clave print le sigue una cadena, que se mostrará en la salida estándar al ejecutarse el estamento.
>>> print “Hola mundo” Hola mundo
Después de imprimir la cadena pasada como parámetro el puntero se sitúa en la siguiente línea de la pantalla, por lo que el print de Python funciona igual que elprintln de Java.
En algunas funcionesequivalentes de otros lenguajes de programación es necesario añadir un carácter de nueva línea para indicar explícitamente que queremos pasar a la siguiente línea. Este es el caso de la función printf de C o la propia función printde Java.
Ya explicamos el uso de estos caracteres especiales en su día durante la explicación del tipo cadena de la lección Python: Tipos básicos. La siguiente sentencia,por ejemplo, imprimiría la palabra “Hola”, seguida de un renglón vacío (dos caracteres de nueva línea, ‘\n’), y a continuación la palabra “mundo” indentada (un carácter tabulador, ‘\t’).
print "Hola\n\n\tmundo"
Para que la siguiente impresión se realizara en la misma línea tendríamos que colocar una coma al final de la sentencia. Comparemos el resultado de este código:
>>> for i in...
Regístrate para leer el documento completo.