Ej. 15 : Leyendo ficheros…

Voy a escribir dos archivos.

Uno de ellos es ex15.py, el cual ejecutaré.

El otro es ex15_sample.txt, que no es un programa, obviamente por la extensión, es un archivo de texto plano que leeré desde el programa. Es el siguiente:

Ej.15 Texto

Lo que quiero hacer es «abrir» el archivo en mi programa y mostrarlo en pantalla. Uso argv y raw_input para cargar otros ficheros más tarde y preguntar al usuario el nombre del fichero que quiere abrir.Ej.15 CódigoY como no podía ser de otra manera open es el comando favorito para abrir un archivo. Nos lo dice el pydoc, así, en poca palabras…

Pydoc open

En la línea 9 del código llamamos a una función en txt.

Lo que se obtiene de open es un fichero con el que se pueden usar comandos. Y ahora atención:

Los comandos se los paso al fichero usando el punto, el nombre del comando y los parámetros. Al igual que con open y raw_input. La diferencia es que cuando escribo txt.read() estoy diciendo: «Hey txt, ejecuta el comando read sin parámetros».

El resto del fichero es más de lo mismo, así que ejecuto…
Ej.15 Terminal Bien. ahora tengo que darle vueltas a ésto.

Por cierto, donde digo comandos, son también funciones o métodos. 

PREGUNTAS

P: ¿txt = open(filename) devuelve el contenido del fichero?

R: No. En realidad crea algo que se llama un «objeto fichero». Es como un reproductor de DVD. Puede moverse por ellos y «leerlos», pero el fichero no es el contenido.

P: No puedo escribir el códogo en mi Terminal de PowerShell como en la práctica 7. ¿Qué hago?

R: Antes de nada, en la línea de comandos sólo tienes que ecribir python y pulsar la tecla Enter. ahora estás en Python, como has hecho otras veces. Entonces puedes ecribir el código y Python lo ejecutará en pequeñas piezas. Para salir ecribe quit () y pulsa Enter.

P: ¿Qué significa from sys import argv?

R: Por ahora sólo diré que sys es un paquete y ésta frase sólo obtiene la característica argv del paquete. Aprenderé más sobre ésto más tarde.