1.1 Apertura de archivos
Trabajar con archivos en Python es un placer, ya que es bastante sencillo e intuitivo. No estamos hablando de crear o mover archivos en el disco, sino de leer y escribir contenido de archivos.
El trabajo con el contenido del archivo generalmente sigue el siguiente esquema:
Apertura de archivo
Trabajo con los datos del archivo
Cierre de archivo
Ejemplo de lectura de todo el contenido del archivo:
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()
La función open
se utiliza para abrir un archivo. Acepta
dos argumentos principales: nombre del archivo y
modo de acceso. La función devuelve un
objeto archivo
, que luego se puede
usar para realizar operaciones de lectura y escritura.
Ejemplo:
file = open('example.txt', 'r')
Si solo se indica el nombre del archivo, se buscará en el directorio de trabajo actual del programa. Si se indica el nombre completo del archivo, se accederá a la ruta especificada.
1.2 Modos de acceso
El segundo parámetro en la función open()
denota el modo de trabajo con el archivo. Los modos de acceso determinan qué operaciones se pueden realizar con el archivo (lectura, escritura, etc.).
Aquí están los principales modos de acceso:
Read
— lectura.Write
— escritura.Append
— añadir.
Existen varias variaciones de estos modos:
- 'r': Apertura de archivo para lectura (modo por defecto). El archivo debe existir.
- 'w': Apertura de archivo para escritura. El contenido del archivo será eliminado. Si el archivo no existe, será creado.
- 'a': Apertura de archivo para añadir. Los datos serán añadidos al final del archivo. Si el archivo no existe, será creado.
- 'r+': Apertura de archivo para lectura y escritura. El archivo debe existir.
- 'w+': Apertura de archivo para lectura y escritura. El contenido del archivo será eliminado. Si el archivo no existe, será creado.
- 'a+': Apertura de archivo para lectura y añadir. Los datos serán añadidos al final del archivo. Si el archivo no existe, será creado.
Ejemplo de escritura en archivo:
Si quieres escribir datos en un archivo, simplemente indica
w
como modo de acceso al abrir
el archivo. ¡Ten en cuenta que todo el contenido anterior del archivo será eliminado!
file = open('example.txt', 'w')
file.write("Hello, World!")
file.close()
Ejemplo de añadir a un archivo:
Si no quieres borrar el contenido del archivo, sino que solo quieres añadir algo
al final, entonces necesitas indicar
a
como modo de acceso al archivo.
file = open('example.txt', 'a')
file.write("\nAppended text.")
file.close()
¡Importante!
Si escribes en un archivo, y aún no
existe, entonces será creado automáticamente. Pero si intentas
leer datos de un archivo que no existe, se producirá una excepción.
1.3 Cierre de archivo
Cada vez que abres un archivo, el sistema operativo verifica tus permisos de acceso al archivo y lo marca como en uso por tu programa. Para trabajar con el archivo se asigna un recurso especial — handler.
La cantidad de handlers que puede obtener tu programa está limitada. Esto significa que solo puedes mantener abiertos unos pocos cientos de archivos al mismo tiempo. Parece mucho, pero si tu programa funciona en un servidor durante meses y lee y escribe algo en los archivos todos los días, este límite puede alcanzarse muy rápido.
Por lo tanto, después de que termines de trabajar con un archivo, debes cerrarlo —
llamar al método close()
. De esta manera, le dices al sistema operativo
que ya no necesitas ese archivo, y su handler ya no es necesario.
Cierre de archivo
Después de terminar de trabajar con un archivo, es necesario cerrarlo para liberar
los recursos del sistema. Para esto se utiliza el método close()
.
file = open('example.txt', 'r')
# Realizar operaciones con el archivo
file.close()
Cada archivo que hayas abierto para lectura o escritura debe ser cerrado. No
olvides llamar al método close()
.
GO TO FULL VERSION