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.
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):