Introducción
El manejo de archivos es una parte integral de la programación. El manejo de archivos en Python se simplifica con métodos integrados, que incluyen la creación, apertura y cierre de archivos.
Mientras los archivos están abiertos, Python también permite realizar varias operaciones con archivos, como leer, escribir y agregar información.
Este artículo le enseña cómo trabajar con archivos en Python.
Requisitos previos
- Python 3 instalado y configurado.
- Un IDE o editor de código para escribir código.
- Acceso a una terminal para ejecutar el código (o ejecutarlo directamente en un IDE).
- Un archivo de texto para los ejemplos.
Abrir archivos en Python
El open()
El método de Python es la función principal de manejo de archivos. La sintaxis básica es:
file_object = open('file_name', 'mode')
El open()
La función toma dos parámetros elementales para el manejo de archivos:
1. El file_name
incluye la extensión del archivo y asume que el archivo está en el directorio de trabajo actual. Si la ubicación del archivo está en otro lugar, proporcione la ruta absoluta o relativa.
2. El mode
es un parámetro opcional que define el método de apertura de archivos. La siguiente tabla describe las diferentes opciones posibles:
Modo | Descripción |
---|---|
'r' | Lee de un archivo y devuelve un error si el archivo no existe (predeterminado ). |
'w' | Escribe en un archivo y crea el archivo si no existe o sobrescribe un archivo existente. |
'x' | Creación exclusiva que falla si el archivo ya existe. |
'a' | Se agrega a un archivo y crea el archivo si no existe o sobrescribe un archivo existente. |
'b' | Modo binario. Utilice este modo para archivos que no sean de texto, como imágenes. |
't' | Modo de texto. Usar solo para archivos de texto (predeterminado ). |
'+' | Activa los métodos de lectura y escritura. |
Comportamiento | Modos |
---|---|
Leer | r , r+ , w+ , a+ , x+ |
Escribir | r+ , w , w+ , a , a+ , x+ |
Crear | w , w+ , a , a+ , x , x+ |
Inicio de la posición del puntero | r , r+ , w , w+ , x , x+ |
Fin de la posición del puntero | a , a+ |
Truncar (borrar contenido) | w , w+ |
Debe existir | r , r+ |
No debe existir | x , x+ |
Método | Descripción |
---|---|
close() | Descarga y cierra el objeto de archivo. |
detach() | Separa el búfer del flujo de texto y devuelve el búfer. |
fileno() | Devuelve el descriptor del archivo si está disponible. |
flush() | Vacía el búfer de escritura. No disponible para objetos de solo lectura. |
isatty() | Comprueba si un flujo de archivos es interactivo. |
read(<int>) | Leer <int> número de caracteres como máximo. |
readable() | Comprueba si un objeto es legible. |
readline(<int>) | Lee desde el objeto hasta una nueva línea o el final del archivo. |
readlines(<int>) | Devuelve una lista de líneas del objeto de archivo, donde <int> es el número de carácter aproximado. |
seek(<offset>, <position>) | Cambia la posición del puntero a <offset> relativo al <position> . |
seekable() | Comprueba si el objeto de archivo admite acceso aleatorio. |
tell() | Imprime la posición de flujo actual. |
truncate(<byte>) | Cambia el tamaño del flujo de archivos a <bytes> (o la posición actual si no se indica) y devuelve el tamaño. |
write(<string>) | Escribe <string> al objeto de archivo y devuelve el número escrito de caracteres. |
writable() | Comprueba si el objeto de archivo permite escribir. |
writelines(<list>) | Escribe un <list> de líneas al flujo sin un separador de línea. |