Ver índice de contenidos del libro

Capítulo 11. Manejo de archivos

Veremos en esta unidad cómo manejar archivos desde nuestros programas.

Existen dos formas básicas de acceder a un archivo, una es utilizarlo como un archivo de texto, que procesaremos línea por línea; la otra es tratarlo como un archivo binario, que procesaremos byte por byte.

En Python, para abrir un archivo usaremos la función open, que recibe el nombre del archivo a abrir.

archivo = open("archivo.txt")

Esta función intentará abrir el archivo con el nombre indicado. Si tiene éxito, devolverá una variable que nos permitirá manipular el archivo de diversas maneras.

La operación más sencilla a realizar sobre un archivo es leer su contenido. Para procesarlo línea por línea, es posible hacerlo de la siguiente forma:

línea=archivo.readline()
while línea != '':
    # procesar línea
    línea=archivo.readline()

Esto funciona ya que cada archivo que se encuentre abierto tiene una posición asociada, que indica el último punto que fue leido. Cada vez que se lee una línea, avanza esa posición. Es por ello que readline() devuelve cada vez una línea distinta y no siempre la misma.

La siguiente estructura es una forma equivalente a la vista en el ejemplo anterior.

for línea in archivo:
    # procesar línea

De esta manera, la variable línea irá almacenando distintas cadenas correspondientes a cada una de las líneas del archivo.

Es posible, además, obtener todas las líneas del archivo utilizando una sola llamada a función:

líneas = archivo.readlines()

En este caso, la variable líneas tendrá una lista de cadenas con todas las líneas del archivo.

Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano, Nicolás Paez. La copia y redistribución de esta página se permite bajo los términos de la licencia Creative Commons Atribución - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.