Trabajando con Archivos
Requisitos de finalización
2. Accediendo a un archivo.
Vamos a crear un programa un Python que tenga los siguiente:
Figura 1
Este scritp USA el archivo que creamos anteriormente. Vemos que en la línea 3, se muestra que TIPO de datos es file.
Si miramos la salida de este script veremos:
Figura 2
- La línea 2 NO muestra el archivo.txt.
- La línea 3 muestra que el tipo file es : <class '_io.TextIOWrapper'>
Trataremos de explicar si entrar mucho en detalles.
file=open('/home/daniel/prueba.txt') crea un objeto file, que permite manejar de manera indirecta el archivo al que hace referencia, en este caso archivo.txt.
Recordemos que el archivo físicamente se guarda en un disco rígido o en otro medios, para evitar entender todo esto, se crea un , manejador de archivos , file hande o buffer o memoria que está se asocia al archivo en la línea:
Este file handle es lo que llamamos como file en este caso, está asociado a una secuencia de caracteres que es el archivo y si lo quiero recorrer debería usar un bucle, ya veremos como hacerlo.
file=open('/home/daniel/prueba.txt')
File Handle es un objeto que se asocia a un archivo y tiene varios métodos.
Podemos ver que este objeto llamado file en este caso, tiene varios métodos. Vamos a ver en el capítulo siguiente algunos métodos.
Otra cuestión que se observa en la Figura 2, es que si esperábamos que saliera el contenido del archivo, esto no sucedió.
Si hacemos la siguiente modificación al scritp:
La salida de este scritp sería:
Podemos ver que en este caso SI vemos el contenido del archivo!!, recordemos que el file handle llamado file en este caso está asociado a la secuencia de caracteres que es el archivo y el bucle recorre cada uno de los caracteres de la secuencia
En este último script la variable "línea" del for va tomando todos y cada uno de los caractes del file handler que están asociados al archivo.txt
En la secuencia, existe un \n o nueva línea, que fue el "Enter" que presionamos al final de cada línea cuando escribimos el archivo: prueba.txt.
El \n no es un caracter imprimible, es decir no se ve, pero está y solo tiene un efecto que es agregar una nueva línea y ubicarse en el inicio de la misma.