Ejemplo Ficheros o Archivos. Práctica 7.

Ficheros de Texto

Nociones básicas y ejemplo

Pasos a seguir:

Para trabajar con archivos:

  1. Se abre el archivo.

  2. Se lee o se escribe en el archivo.

  3. 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.

  • \'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.read(). Todo el archivo.

Paso 2. Escribir un archivo

archivo.write().

Paso 2. Leer o escribir el archivo

archivo.close().

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

OJO, Suponemos que el usuario al introducir las notas y el nombre no se equivoca

Código crear el archivo

print("Almacena notas")
#Abrir el archivo el archivo
archivo=open("datos.txt","a")
#Cuantos datos vas a introducir
cuantos_alumnos_introducir=int(input("Dame el número de alumnos a introducir?"))
# Pedir las valores y los almaceno
for i in range(cuantos_alumnos_introducir):                               
    nombre=input("Dame el nombre")
    archivo.write(nombre+";")
    nota=float(input("Dame la nota 1"))
    nota1=float(input("Dame la nota2"))
    #almacena la información en el archivo, separándola por ;en el archivo
    texto=str(nota)+";"+str(nota1)+"\n"
    archivo.write(texto)
#Cierro el archivo
archivo.close()
print("Fin de programa")

Archivo Resultado

Código leer archivo (read)

#Abrir el archivo
archivo=open("datos.txt","r")
#Visualizo los datos del archivo
print(archivo.read())
archivo.close()

Código leer archivo (readlines)

#abro el archivo
archivo=open("datos.txt","r")
linea=1
#leo el archivo linea a linea y visualizo
for lineas in archivo.readlines():
    print("numero", linea, "  ", lineas)
    linea+=1
archivo.close()

Evitar errores

Evita que el programa rompa, pero no se sabe cuál es el error

try: 
    archivo=open("datos.txt","r")
except:
    print("Se ha generado un error")

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.

import os
nombre_del_archivo="archivo.txt"
if os.path.exists(nombre_del_archivo):
    print("Existe el archivo")
else:
    print("El archivo no existe")

Error: Problemas con el directorio de trabajo

Se debe importar el modulo os, utilizando la import os, os.getcwd().

nombre="ejemplo"
archivo=os.getcwd()+ "/" + nombre + ".txt"

Importante:

Si el archivo existe, añade datos:

archivo=open("datos.txt","a")

Si se utiliza w, si existe el archivo, lo borra e introduce una nueva.

archivo=open("datos.txt","w")

Probarlo

Última actualización

¿Te fue útil?