Definición: archivos (ficheros)
Ficheros de Texto
Nociones básicas y ejemplo
Pasos a seguir:
Para trabajar con archivos:
Se abre el archivo.
Se lee o se escribe en el archivo.
Se cierra el archivo.
Paso 1. Abrir
Sintaxis
nombre = open(<ruta del archivo>, <modo>)
Donde:
ruta del archivo, es tipo str que indica el directorio donde está el archivo.
modo es tipo str que indica cómo se accede al archivo (tipos de acceso).
Tipo de acceso
Si no se indica el tipo de operación el archivo se abrirá en modo de lectura.
\'r\' es el modo de lectura.
\'w\' es un modo de escritura. En caso de existir un archivo, éste es sobrescribe.
\'a\' es un modo de escritura. En caso de existir un archivo, comienza a escribir al final de éste.
\'r+'\
: Abre el archivo para lectura y escritura.\'x\' es un modo de escritura para crear un nuevo archivo. En caso de que el archivo exista se emitirá un error de tipo FileExistsError.
\'+\' es un modo de escritura/lectura
Paso 2. Leer o escribir el archivo
Paso 2. Leer
archivo.readline(
). Lee línea a línea. Leerá el texto desde la posición en que se localice hasta encontrar el caracter de escape retorno de línea (\n).archivo.readlines(
). Lee todas las líneas del archivo y devuelve una lista con cada elemento siendo una línea de texto.archivo.read()
. Todo el archivo. Es una cadena.
Paso 2. Escribir un archivo
archivo.write()
.
Paso 2. Leer o escribir el archivo
archivo.close()
.
Otra opción para leer y escribir: Uso del Administrador de Contexto with
with
Es utilizar la función with .....as :
La diferencia entre with open() y open() es que el primero, garantiza que el archivo se abrirá y cerrará correctamente, mientras que al utilizar open() directamente, eres responsable de cerrar el archivo manualmente.
Ejemplo:
Leer un archivo, que previamente se le pregunta el nombre al usuario
Para crear un archivo de texto, que almacena las notas de n alumnos, el código sería:
Evitar errores
Evita que el programa rompa, y si se genera un error visualiza un mensaje
Si se quiere saber con exactitud que el error es que no existe el error se utiliza FileNotFoundError
Verificar si existe el archivo
Error: Verificar si existe un archivo
No se puede añadir datos, ni leer un archivo que no existe. Para evitar un error, se debe importar el módulo os
y verificar que el archivo exista, os.path.exists
.
Obtener el directorio de trabajo
Se debe importar el modulo os, utilizando la import os, os.getcwd().
Archivos: Acceso y Manipulación Específica por Directorio y Nombre
Para trabajar con un archivo llamado archivo.txt
que se encuentra en la carpeta, por ejemplo C:\Documentos
en Python, hay varias operaciones básicas que podrías querer realizar, como leer el archivo, escribir en él, o agregar contenido. A continuación, te muestro cómo puedes realizar estas operaciones:
1. Leer el archivo
Para leer el contenido de archivo.txt
, puedes usar el siguiente código:
2. Escribir en el archivo
Si deseas escribir en el archivo (sobrescribiendo cualquier contenido existente), puedes usar este código:
3. Agregar contenido al archivo
Si prefieres agregar contenido al final del archivo sin borrar lo que ya está escrito, puedes hacer lo siguiente:
Encoding
Para leer un archivo que contiene caracteres especiales como acentos en Python, debes asegurarte de que especificas correctamente la codificación del archivo al abrirlo. Usualmente, los archivos en español y otros idiomas que usan acentos están codificados en UTF-8, aunque puede variar dependiendo de cómo se haya creado el archivo.
Ejemplo
Enunciado
Introducir las notas del primer y segundo parcial de los alumnos de la asignatura Informática para ingeniería. Para ello, previamente le preguntará al usuario cuantos alumnos va a introducir. Estos datos se almacenarán en un archivo.
Análisis:
Preguntar al usuario cuantos alumnos va a introducir (verificar que sea mayor que 0 y menor 90).
Pedir las calificaciones de cada uno de los alumnos sus calificaciones (deben ser que cero y menor que 10).
Almacenar la información en el archivo.
Diagrama
Código crear el archivo
Archivo Resultado
Código leer archivo (read)
Código leer archivo (readlines)
Probarlo
Explicación
Última actualización