Editar ficheros con Python – función Write()

por | 17 mayo, 2017

1. Editar ficheros con Python – función Write()

1.1 Introducción

La función ‘open‘ nos permitirá abrir ficheros y leer su contenido, no obstante, si deseamos editar su contenido a posteriori deberemos elegir una de los siguientes modos.

  • w‘ : Modo escritura. Hay que tener mucho ojo con este modo pues sobrescribiremos el texto original del fichero con el nuevo texto que nosotros introduzcamos. Podríamos usar este modo si estamos seguros de que es un fichero totalmente nuevo o bien si no nos importa perder el contenido anterior.
  • a : Modo añadir o agregar. Este modo abrirá archivos y agregará el contenido o texto que deseemos al final del mismo. Recomendamos empezar a practicar con este modo para evitar sorpresas y perdidas de contenido o texto en los ficheros de prueba con los que estemos trabajando.
  • r+‘ : Modo especial lectura/escritura: Este modo combina la lectura y escritura, no obstante, nos posicionará por defecto en el primer carácter del fichero, así pues, deberemos tener buen ojo para no borrar o reemplazar sin querer el contenido ya existente.

1.2 Editar ficheros < función write() >

Los pasos a seguir para aprender como trabaja esta función serán los siguientes:

  • Carga de fichero en objeto de tipo fichero con función ‘open()‘ en un modo que permita la posterior edición (‘w’, ‘a’, ‘r+’):

ObjFichero = open(«NombreFichero.txt», ‘w’)

  • Uso de función ‘write()‘ para carga o inserción del texto deseado en el fichero de texto:

MiNuevoTexto = «Este es el nuevo texto que quiero insertar»
ObjFichero.write(MiNuevoTexto)

  • Cierre de archivo para guardar el contenido:

ObjFichero.close()

  • Cargaremos un nuevo objeto de tipo archivo para evitar comportamientos no esperados, leeremos el nuevo contenido y confirmaremos que nuestro cambio o inserción fue aplicado correctamente:

ObjFichero2 = open(“NombreFichero.txt”)
TextoFichero = ObjFichero2.read()
print (TextoFichero)
ObjFichero2.close()

1.3 Caso práctico

Para nuestro caso práctico sea de más fácil comprensión prepararemos el entorno del siguiente modo:

  • Crearemos la siguiente carpeta ‘Ejemplos‘ con los siguientes comandos en la consola de nuestra Raspberry Pi:

cd /home/pi
mkdir Ejemplos

  • Crearemos un fichero llamado ‘Ejemplo2.txt‘ donde introduciremos nuestro nombre y apellidos. Recomendamos usar el siguiente ejemplo:

echo «» >> Ejemplo.txt

  • Comprobaremos el contenido del fichero ‘Ejemplo2.txt‘ usando en la consola el siguiente comando:

more Ejemplo1.txt

  • Usaremos, como es costumbre en este blog, Python 3 (IDLE) en nuestra Raspberry Pi y crearemos un nuevo fichero con nuestro código llamado ‘Ejemplo2.py‘.

Nota: Recordad que en nuestros manuales siempre trabajamos con Python 3 para seguir una versión concreta. Las diferencias entre Python 2 y 3 son salvables pero en muchas ocasiones unas simples comillas o paréntesis de más funcionan en uno y en otro no.

  • Ejemplo 1:  Almacenaremos un nuevo texto en nuestro fichero ‘Ejemplo2.txt‘ sobrescribiendo cualquier contenido o texto anterior, para ello abriremos el fichero con el modo ‘w‘.

ObjFichero = open(“home/pi/Ejemplo2.txt”,’w’)
MiNuevoTexto = «Este es el nuevo texto que quiero insertar»
ObjFichero.write(MiNuevoTexto)
ObjFichero.close()
ObjFichero2 = open(“home/pi/Ejemplo2.txt”)
TextoFichero = ObjFichero2.read()
print (TextoFichero)
ObjFichero2.close()

  • Ejemplo 2:  Nos basaremos en el mismo ejemplo pero en esta ocasión veremos como se agrega el texto al final del contenido previamente existente, para ello abriremos el fichero con el modo ‘a‘.

ObjFichero = open(“home/pi/Ejemplo2.txt”,’a’)
MiNuevoTexto = «Este es el nuevo texto que quiero insertar»
ObjFichero.write(MiNuevoTexto)
ObjFichero.close()
ObjFichero2 = open(“home/pi/Ejemplo2.txt”)
TextoFichero = ObjFichero2.read()
print (TextoFichero)
ObjFichero2.close()

Nota: Para ejecutar nuestro código recomendamos abrir el shell de Python, crear nuestro fichero y ejecutar el contenido con F5 o desde el menú «Run > Run Module«.

 

Y con esto terminamos este manual básico requetebásico de tratamiento de ficheros en lenguaje Python!

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.