Acceso a archivos
- Primero: acceso al archivo, paso previo, común también al proceso de escritura.
- Segundo: lectura del contenido. Dentro de esta segunda fase deberemos distinguir dos condiciones alternativas: si deseamos acceder al texto como un bloque o si nos interesa hacerlo línea por línea. Esta opción está determinada, fundamentalmente, por el modo en que se ha escrito el contenido en el archivo.
Archivo = ‘texto.txt’
contenido = open(archivo,’r’, encoding=‘utf-8’)
Cuerpo de instrucciones
contenido.close()
… en donde cambiamos el segundo parámetro por ‘r’ (reader) para especificar la acción que vamos a aplicar sobre el archivo, y la simplificada, que nos ahora la función de cierre
with open(archivo,’r’, encoding=‘utf-8’) as contenido:
La segunda parte del proceso se basa en la lectura del contenido que se realiza, en principio con la función o método read()
texto_leer = contenido.read()
… que almacena en texto_leer toda la información contenida en el archivo referenciado como contenido.
Pero si el contenido el archivo fuera una lista de palabras (por ejemplo) que ocupara varias líneas (por ejemplo, los días de la semana), podríamos usar el mismo procedimiento, pero obtendríamos un texto único, no una lista de los días de las semana (1). Si necesitamos acceder a la lista podemos optar por crearla (lista= []) y usar un bucle for para recorrer el archivo abierto añadiendo (lista.append()) cada elemento a la lista, o puedes optar por usar la función readlines() y ahorrarte el bucle (2).
En este segundo caso depende, como ya dije, de cómo está “escrito” el contenido en el archivo. Empecemos por la forma más simple, suponiendo que el contenido del archivo es un texto formado por uno o varios párrafos y que nuestro interés es usar ese contenido para informar al usuario del script sobre el funcionamiento del mismo. En este supuesto, necesitamos leer el contenido y pasarlo a una variable-cadena que después mostraremos en pantalla. Para ello, sobre texto_lista.txt (listado de días de la semana)…
archivo = ‘texto_lista.txt’
lineas = []
docum = open(archivo,’r’, encoding=‘utf-8’)
lineas = docum.realdlines()
lin = len(lineas)
print(f’Número de elementos de la lista {lin}\n’)
for i in range(lin):
print(lineas[i].rstrip())
docum.close()
Este script devuelve una lista de elementos formada por el contenido de cada una de las líneas del documento. La función len() nos permite ver que esa lista consta de 7 elementos y sirve de referencia para limitar el número de ciclos que recorre for (for i in range(lín)) (3).
Si quieres confirmar que lineas es una lista y no una cadena de caracteres, sólo tienes que solicitar que se imprima un elemento mediante…
print(lineas[0]) -> Te devuelve lunes (4)
… pero lo realmente interesante es el conjunto de posibilidades que te ofrece el uso de lineas como lista.
NOTAS

