Ficheros

El soporte de acceso a ficheros es uno de los componentes más importantes de cualquier lenguaje. En Python existe una función pre-definida denominada open que permite abrir un fichero.

handle = open( file_name, access_mode='r')

La variable file_name contiene el nombre del fichero que deseamos abrir, mientras que el parámetro acces_mode define el modo en que queremos abrir el fichero. Estos modos pueden ser r(lectura), w(escritura), a(añadir), b(binario), r+(lectura/escritura)

Para leer los contenidos del fichero tenemos varios métodos. readline() leerá una línea en cada invocación del método, mientras que readlines() leerá todo el fichero generando una lista de líneas.

file = open(filename, 'r')
allLines = file.readlines()
file.close()
for eachLine in allLines:
   print eachLine,

A continuación se presenta una tabla con los métodos más utilizados sobre ficheros:

Tabla 10.5. Métodos del objeto Fichero

file.close()cierra el fichero
file.fileno()devuelve un entero representando el descriptor de fichero
file.flush()descarga el buffer interno al fichero
file.read (size=-1)lee todos los bytes del fichero o los especificados en el parámetro size
file.readline()lee una línea del fichero incluyendo un salto de línea \n
file.readlines()lee todas las líneas del fichero en un lista
file.seek(off, whence)se mueve a una posición dentro del fichero off bytes desde lo que marque la variable whence (0= principio de fichero, 1=posición actual, 2=final de fichero)
file.write(str)escribe la cadena str al fichero
file.writelines(list)escribe la lista de cadenas al fichero