Libro Python Aplicado de Eugenia Bahit. GNU/Linux, ciencia de datos, y desarrollo web

Banner de Python Aplicado

Manejo y manipulación de archivos


Cita con formato IEEE:
E. Bahit, "Manejo y manipulación de archivos", in Python Aplicado, 4th ed., EBRC Publisher, 2022, pp. 87–91.

Cita con formato APA 7:
Bahit, E. (2022). Manejo y manipulación de archivos. In Python Aplicado (4th ed., pp. 87–91). EBRC Publisher.

Cita en línea:
(Bahit, 2022)

Python permite trabajar en dos niveles diferentes con respecto al sistema de archivos y directorios.

Uno de ellos, es a través del módulo os, que facilita el trabajo con todo el sistema de archivos y directorios, a nivel del propios sistema operativo.

El segundo nivel, es el que permite trabajar con archivos manipulando su lectura y escritura desde la propia aplicación o script, tratando a cada archivo como un objeto.

Modos de Apertura de un archivo

El modo de apertura de un archivo, está relacionado con el objetivo final que responde a la pregunta "¿para qué se está abriendo este archivo?". Las respuestas pueden ser varias: para leer, para escribir, o para leer y escribir.

Cada vez que se "abre" un archivo se está creando un puntero en memoria.

Este puntero posicionará un cursor (o punto de acceso) en un lugar específico de la memoria (dicho de modo más simple, posicionará el cursor en un byte determinado del contenido del archivo).

Este cursor se moverá dentro del archivo, a medida que se lea o escriba en dicho archivo.

Cuando un archivo se abre en modo lectura, el cursor se posiciona en el byte 0 del archivo (es decir, al comienzo del archivo). Una vez leído el archivo, el cursor pasa al byte final del archivo (equivalente a cantidad total de bytes del archivo). Lo mismo sucede cuando se abre en modo escritura. El cursor se moverá a medida que se va escribiendo. Cuando se desea escribir al final de un archivo no nulo, se utiliza el modo append (agregar). De esta forma, el archivo se abre con el cursor al final del archivo.

El símbolo + como sufijo de un modo, agrega el modo contrario al de apertura una vez se ejecute la acción de apertura. Por ejemplo, el modo r (read) con el sufijo + (r+), abre el archivo para lectura, y tras la lectura, vuelve el cursor al byte 0.

La siguiente tabla muestra los diferentes modos de apertura para un archivo abierto con la función open.

Modos de apertura de un archivo
Indicador Modo de apertura Ubicación del puntero
r Solo lectura Al inicio del archivo
rb Solo lectura en modo binario Al inicio del archivo
r+ Lectura y escritura Al inicio del archivo
rb+ Lectura y escritura en modo binario Al inicio del archivo
w Solo escritura.
Sobrescribe el archivo si existe.
Crea el archivo si no existe.
Al inicio del archivo
wb Solo escritura en modo binario.
Sobrescribe el archivo si existe.
Crea el archivo si no existe.
Al inicio del archivo
w+ Escritura y lectura.
Sobrescribe el archivo si existe.
Crea el archivo si no existe.
Al inicio del archivo
wb+ Escritura y lectura en modo binario.
Sobrescribe el archivo si existe.
Crea el archivo si no existe.
Al inicio del archivo
a Añadido (agregar contenido).
Crea el archivo si éste no existe.
Si el archivo existe, al final de éste.
Si el archivo no existe, al comienzo.
ab Añadido en modo binario (agregar contenido).
Crea el archivo si éste no existe
Si el archivo existe, al final de éste.
Si el archivo no existe, al comienzo.
a+ Añadido (agregar contenido) y lectura.
Crea el archivo si éste no existe.
Si el archivo existe, al final de éste.
Si el archivo no existe, al comienzo.
w+ Escritura y lectura.
Sobrescribe el archivo si existe.
Crea el archivo si no existe.
Al inicio del archivo
ab+ Añadido (agregar contenido) y lectura en modo binario.
Crea el archivo si éste no existe.
Si el archivo existe, al final de éste.
Si el archivo no existe, al comienzo.

Algunos métodos del Objeto File

El objeto file, entre sus métodos dispone de los siguientes (no todos los métodos del objeto file se listan a continuación):