Python: añadir contenido a un archivo

En este artículo, examinaremos cómo agregar contenido a un archivo existente usando Python.
Digamos que tenemos un archivo llamado helloworld.txt que contiene el texto "¡Hola mundo!" y se encuentra en nuestro directorio de trabajo actual en un sistema de archivos Unix:
$ cat ./helloworld.txt
Hello world!  
Ahora supongamos que queremos agregar el texto adicional "¡Es bueno haber nacido!" hasta el final de este archivo desde un programa de Python.
El primer paso es obtener una referencia al archivo de nuestro programa. Esto se puede hacer con el openmétodo incorporado , usando la ruta / nombre del archivo como primer argumento y el modo como segundo argumento, de la siguiente manera:
f = open("./helloworld.txt", "a")  
La variable fahora contiene una referencia a un objeto de archivo que podemos usar para escribir al final del archivo. Si el archivo no existía ya, se creará. Tenga en cuenta que el segundo argumento "a" especificó el modo para abrir el archivo, en este caso el modo "Anexar". Esto establece la posición de escritura al final del archivo.
Si hubiéramos usado la "w" (Modo de escritura), todo lo que escribamos en el archivo comenzará desde el principio y sobrescribirá el contenido existente.
Ahora podemos escribir contenido en el archivo de esta manera:
f.write("\nIt's good to have been born!")

f.close()  
Recuerde llamar al closemétodo después de escribir en los archivos para que no quede bloqueado después de que el programa salga y para asegurarse de que cualquier contenido almacenado en la memoria se escriba en el archivo.
Así es como se ve el archivo después de que le agregamos:
$ cat ./helloworld.txt
Hello world!  
It's good to have been born!  
Una nota final es que si agregamos un "+" al argumento de modo del openmétodo, podemos abrir el archivo tanto para agregar como para leer. Esto permitirá leer y escribir en el archivo. Sin el "+" IOErrorse producirá una excepción si intentamos leer el archivo. Por defecto, tanto la lectura como la escritura ocurrirán al final del archivo, pero esto puede cambiarse en cualquier momento usando el seekmétodo.
Aquí están los comandos para lograr esto (tenga en cuenta que usamos el flushmétodo para asegurarnos de que el nuevo contenido se escriba en el archivo antes de intentar leerlo de nuevo):
f = open("./helloworld.txt", "a+")  
f.write("I am grateful.")  
f.flush()  
f.seek(0)  
content = f.read()  
print content  
f.close()  
Y aquí está el aspecto del archivo final:
$ cat ./helloworld.txt
Hello world!  
It's good to have been born!  
I am grateful.  

Sobre el Autor

Este artículo fue escrito por Jacob Stopak, un consultor y desarrollador de software con pasión por ayudar a otros a mejorar sus vidas a través del código. Jacob es el creador de Initial Commit , un sitio dedicado a ayudar a los desarrolladores curiosos a aprender cómo se codifican sus programas favoritos. Su proyecto destacado ayuda a las personas a aprender Git a nivel de código.

Acerca de: Programator

Somos Instinto Programador

0 comentarios:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Con tecnología de Blogger.