sábado, 27 de septiembre de 2014

Tutorial de Python parte 19 - Lectura y escritura de ficheros




En esta ocasión veremos como manejar ficheros en Python a través de los modos de lectura y escritura.

Los modos básicos que podemos utilizar son los siguientes:
  • w : escritura crea el fichero si no existe, si existe reemplaza el contenido anterior por el nuevo
  • a : escritura crea el fichero si no existe, si existe agrega el nuevo contenido al final del contenido ya existente
  •  r : lectura abre el fichero si existe
Para crear el manejador de ficheros utilizaremos la función open(archivo, modo)

Para escribir en el fichero utilizaremos la función write(contenido)

Para leer el contenido del fichero utilizaremos la función read()

Para obtener una línea del fichero utilizaremos la función readline()

Para cerrar el manejador utilizaremos la función close()

En el ejemplo del vídeo tutorial se ven varios ejemplo de como manejar ficheros para su escritura y lectura.

Código de ejemplo del vídeo tutorial ...

#escribir y leer ficheros

#MODOS:
# w : escritura crea el fichero si no existe, si existe reemplaza el contenido anterior por el nuevo
# a : escritura crea el fichero si no existe, si existe agrega el nuevo contenido al final del contenido ya existente
# r : lectura abre el fichero si existe 

#Creamos un archivo
manejador = open("index.html", "w")

html = "<!DOCTYPE HTML>\n"
html += "<html>\n"
html += "<head>\n"
html += "<title>Hola mundo</title>\n"
html += "</head>\n"
html += "<body>\n"
html += "<h1>Hola mundo</h1>\n"
html += "</body>\n"
html += "</html>\n"

#Escribimos en el archivo
manejador.write(html)

#cerramos el manejador
manejador.close()

print()

print("**** Documento HTML creado con exito ****")

print()

print("**** Ahora leemos el archivo completo con read ****")

manejador = open("index.html", "r")
#read() lee el fichero completo
print(manejador.read())
manejador.close()

print()

print("**** Ahora leemos el archivo linea a linea con un bucle for ****")

manejador = open("index.html", "r")
for line in manejador:
 print(line, end="")
manejador.close()