Los archivos son un conjunto de información relacionada entre si y estructurada en unidades mas pequeñas denominadas registros.
Tipos
Según su uso se clasifican en dos tipos: permanentes y temporales.
Los archivos permanentes son los que no varían (o varían muy poco), en el tiempo. Estos archivos se clasifican en:
Archivos Maestros o de situación: Mantienen actualizado los campos cuya información es variable.
Archivos Constantes: Estos archivos tienen un bajo bajo indice de variación. Son archivos necesarios para la aplicación del sistema.
Archivos Históricos: Estos archivos contienen la información acumulada en el tiempo.
Los archivos temporales se clasifican en:
Archivos de movimiento o transacciones: Estos archivos contienen información necesaria para la actualización de los archivos maestros
Archivos transitorios: Son archivos auxiliares, se crean en la ejecución del programa para obtener alguna información para luego obtener algún resultado, su periodo de vida es inferior a los archivos de movimiento o transacciones.
Operaciones
Independientemente del tipo de archivo, existen un conjunto de operaciones que se pueden realizar con los archivos. Entre estas se encuentran:
Crear: Para realizar cualquier operación en un archivo es necesario crearlo antes.
Abrir: Para poder trabajar con el archivo, se debe abrir antes
Cerrar: Al finalizar es necesario cerrar el archivo
Actualizar: Esta operación permite escribir en el archivo para mantenerlo actualizado
Ordenar: Permite ordenar los registros del archivo, según sea el caso
Concatenación: Permite unir dos o mas archivos
Copiar: Copia un archivo en otro
Consulta: Permite consultar un campo de un registro del archivo
Borrar: Permite borrar un archivo creado
Acceso
Los tipos de acceso son:
Acceso Secuencial: Se utiliza para realizar consultas totales o parciales del archivo
Acceso Directo: Permite situar en un registro mediante su clave, sin tener que acceder a los registros previos
Acceso por Indice: Permite acceder a un registro mediante el indice que se encuentra almacenado en una tabla
Acceso Dinámico: Son los archivos que pueden asumir cualquiera de los tipos de acceso
En cuanto a la Programación
Cada lenguaje tiene un comando para leer y escribir los registros en una unidad o archivo. A continuación, se detalla para cada uno de los lenguajes que trabajamos en el curso (C, Python y Go), su declaración y uso.
Lenguaje C
En el caso del lenguaje C, este lenguaje solo permite archivos con organización de acceso secuencial, aunque permite el acceso directo mediante dos funciones ANSI. El lenguaje C reconoce dos tipos: datos y binarios.
lectura
escritura
Para acceso directo
fscanf()
fprintf()
fseek()
ftell()
Tabla 1. Operaciones y su codificación en lenguaje C
ra+
Abre un archivo binario para lectura/escritura
Ejemplo de Un programa en C que crea un Archivo de texto de nombre datos
#include "stdio.h"
main()
{
FILE *archivo;
char c;
if ((archivo=fopen("datos.txt","w"))!=NULL)
{
while ((c=getchar())!=EOF)
fputc(c,archivo);
fclose(archivo);
}
else
printf ("El archivo 'datos.txt' no se puede abrir");
}
A continuación, se presenta la compilación del programa en Dev C
Lenguaje Python
En el lenguaje Python la función open() devuelve un objeto archivo, y es normalmente usado con dos argumentos: open(nombre_de_archivo, modo).
>>> f = open('/tmp/workfile', 'w')
>>> print f
Archivos: Python
El primer argumento es una cadena conteniendo el nombre de archivo. El segundo argumento es otra cadena conteniendo unos pocos caracteres que describen la forma en que el archivo será usado. El modo puede ser 'r' cuando el archivo será solamente leído, 'w' para sólo escribirlo (un archivo existente con el mismo nombre será borrado), y 'a' abre el archivo para agregarle información; cualquier dato escrito al archivo será automáticamente agregado al final. 'r+' abre el archivo tanto para leerlo como para escribirlo. El argumento modo es opcional; si se omite se asume 'r'.
fuente: Tutorial de Python (p. 67)