Escritura y lectura de Archivos con Python en IOTeca

Escritura y lectura de Archivos con Python

La función incorporada open() toma como argumento la ruta de un archivo y retorna una instancia del tipo file .

Escritura de Archivos

Como segundo parámetro debemos indicar el modo de apertura del archivo.

Comenzaremos ingresando w , para seleccionar el modo write de escritura. Al seleccionar este modo si el archivo no exite es creado.

Para escribir en él se emplea el método write().

Por último debemos cerrar el archivo mediante el método close()

archivo =open("prueba.txt", "w")
archivo.write("Hola"+"n")
archivo.close()

Como resultado comprobaremos que se creo el archivo prueba.txt en el mismo directorio donde hemos guardado el archivo con el código Python que estamos ejecutando. El mismo tendrá como contenido:

Hola

Para agregar más líneas al final del archivo anterior, sin borrar información previa, ingresaremos a para seleccionar el modo append.

archivo = open("prueba.txt", "a")
archivo.write("Chau"+"n")
archivo.write("Adios"+"n")
archivo.close()

El codigo guardará en archivo las nuevas lineas, quedando:

Hola
Chau
Adios

Para agregar más de una línea al mismo tiempo podermos utilizar una lista y el método writelines().

archivo = open("prueba.txt", "a")
lista = ['Byen', 'Au Revoirn']
archivo.writelines(lista)
archivo.close()

Agregará al archivo las líneas:

Bye
Au Revoir


Lectura de archivos

Para leer los archivos selecionaremos el modo read, por lo que ingresaremos la letra r como parametro.

archivo = open("prueba.txt", "r")
saludo =archivo.read()
print(saludo)
archivo.close() 

Se mostrará en consola el siguiente resultado:

Hola
Chau
Adios
Bye
Au Revoir

El método readline() posibilita la lectura de una sola línea en el archivo.

archivo = open("prueba.txt", "r")
linea=archivo.readline()
print(linea)
archivo.close()

Nos mostrará en consola la primer linea:

Hola

Utilizado un bucle while podríamos iterar de la siguiente forma para muestre línea por línea.

archivo = open("prueba.txt", "r")
linea=archivo.readline()
while linea != '':
	print(linea)
	linea=archivo.readline()
archivo.close()

O podemos utilizar bucle for con el método readlines().

archivo = open("prueba.txt", "r")
for linea in archivo.readlines():
	print(linea)
archivo.close() 

En ambos casos se mostrará en consola línea por línea :

Hola

Chau

Adios

Bye

Au Revoir


Posiblemente necesitemos enumerar los resultados. Una forma sería:

archivo = open("prueba.txt","r")
contador = 1
for linea in archivo:   
    print("{:d}: {:s}".format(contador,linea))
    contador+=1
archivo.close()

Que mostrará:

1: Hola

2: Chau

3: Adios

4: Bye

5: Au Revoir

Se puede realizar de forma más reducida utilizando la función enumerate().

archivo = open(open("prueba.txt","r")
for contador, linea in enumerate(archivo,1):
    print("{:d}: {:s}".format(contador,linea))
archivo.close()

Nota: Para leer, escribir y añadir contenido de un archivo en formato binario, deben utilizarse los modos "rb" , "wb" y "ab" , respectivamente.


Este y otros contenidos los podés aprender en el Curso de Python

Creado: 29/12/2019  

Publicidad

| Volver a Python |

Comentarios

Para poder comentar debés registrarte e ingresar al sitio.