0% encontró este documento útil (0 votos)
28 vistas22 páginas

Presentation Lesson 04

Este documento presenta una introducción a la manipulación de archivos y el manejo de errores en Python. Explica cómo abrir y cerrar archivos, leer y escribir datos en ellos, y cómo usar excepciones para controlar y tratar errores de ejecución como divisiones por cero. También cubre temas como caminos de archivos, tipos de archivo, y funciones de la biblioteca OS para trabajar con carpetas. Finalmente, propone algunas actividades prácticas para aplicar estos conceptos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas22 páginas

Presentation Lesson 04

Este documento presenta una introducción a la manipulación de archivos y el manejo de errores en Python. Explica cómo abrir y cerrar archivos, leer y escribir datos en ellos, y cómo usar excepciones para controlar y tratar errores de ejecución como divisiones por cero. También cubre temas como caminos de archivos, tipos de archivo, y funciones de la biblioteca OS para trabajar con carpetas. Finalmente, propone algunas actividades prácticas para aplicar estos conceptos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 22

Introducción a la Programación

con Python - Clase #4


Curso Propedéutico
Objetivos
• Detectar y tratar errores en la ejecución de programa

• Manipular archivos utilizando Python

2
Contenido
• Manejo errores y excepciones en python

• Lectura de datos desde archivos

• Escritura de datos en archivos

3
Tipos de error
• Errores de sintaxis: errores en la sintáxis de nuestro código. Son detectados por el
compilador o intérprete.

• Errores semánticos: se produce cuando nuestro programa da un resultado diferente al


esperado.

• Errores de ejecución: aparecen durante la ejecución de nuestro programa y pueden


tener diversas causas:

• datos mal introducidos por el usuario

• Errores de programación. Por ejemplo: acceso a un índice que no existe en una lista

• Acceso a archivos inexistentes o dañados

4
Manejo de excepciones
try:

bloque código

except <Excepción>:

bloque código

except <Excepción>:

bloque código

except:

bloque código

nally:

bloque código

5
fi
Elevando excepciones
• raise <excepción> nos permite elevar una
excepción para que para que sea tratada
por el bloque que ha invocado al código
que se está ejecutando.

• Se considera una mejor práctica en lugar


de utilizar programación defensiva

6
Actividad #1
• Escribir un programa que pida al usuario dos n meros enteros y muestre por pantalla su divisi n.
El programa debe:

• Detectar cuando los valores introducidos no son números enteros y volver a pedirlos

• El programa debe capturar el error cuando se realiza la división por cero y debe mostrar un
error y solicitar nuevamente el nuevo valor para el divisor.

• Sugerencias:

• Utilizar funciones

• La excepción que se genera cuando el valor no es valido es ValueError.

• La excepción que se genera cuando se realiza una división por cero es ZeroDivisionError.
7


Sistema de archivos
• Sistema de almacenamiento de un dispositivo de memoria

• FAT, NTFS, EXT, HFS, entre otros

• Estructura jerárquica (forma de árbol)

8
Caminos relativos
• Es una dirección a partir de la ubicación de nuestro programa.

• Para acceder a un archivo ubicado dentro de una carpeta en el mismo


directorio donde está nuestro programa, el camino tiene la estructura:

./carpeta/subcarpeta/subcarpeta/……../archivo

• Para acceder a un archivo ubicado fuera de la carpeta de nuestro programa, el


camino tiene la estructura:

../../……../carpeta/subcarpeta/subcarpeta/……../archivo

9
Caminos absolutos
• Es una dirección a partir del directorio raíz del sistema o disco

• El camino para acceder a un archivo ubicado en alguna carpeta de nuestro disco


tiene la estructura:

/carpeta/subcarpeta/subcarpeta/……../archivo

• En el caso del sistema operativo Windows, la estructura es:

<drive>:/carpeta/subcarpeta/subcarpeta/……../archivo

• El carácter de separación es el backslash \

10
Tipos de archivo
• Archivos tipo texto

• Documentos texto: txt, markdown

• Archivos de datos tabulares: csv

• Archivos de código fuente: py, js, htm, c, cpp, css

• Binarios

• Documentos: doc, ppt, xls

• Archivos compactados: zip, rar, gz

• Ejecutables: exe, com

• Bases de datos: dbf, db


11
Abrir un archivo
• open(camino, modo) permite acceso a un archivo. El modo
especi cado determina las operaciones que pueden realizarse:

• 'r’: el archivo se abre para lectura

• 'w’: el archivo se abre para escritura. El archivo se sobrescrito.

• 'a’: el archivo se abre para modi cación. Las operaciones de


escritura se realizan al nal del contenido del archivo.

• 'x’: el archivo se crea. Devuelve error si el archivo ya existe.

• Los modos se pueden combinar con las opciones ’t' y 'b' para
esceni car que el archivo es tipo texto o binario respectivamente.

• La función open, devuelve un objeto tipo de archivo.

• close() Cierra el archivo f abierto anteriormente con open

• Siempre que se abre el acceso a un archivo se debe cerrar cuando


hemos terminado de trabajar con el

12
fi
fi
fi
fi
Actividad #2
• Escribir un programa que pida solicite al usuario su nombre y guarde en un
archivo con nombre mensaje_<nombre>.txt el mensaje Hola <nombre>!!!, donde
<nombre> es el nombre introducido por el usuario

13
Leer desde un archivo
• read() devuelve todo el contenido del archivo como una
cadena o bu er

• readline() permite leer el contenido del archivo línea a


línea. Al ejecutarse incrementa la posición del cursor en el
archivo.

• read() devuelve todo el contenido del archivo como una


lista de cadenas

14
ff
Actividad #3
• El archivo notas.txt contiene el listado con las notas nales de los estudiantes durante un
semestre. Escribir un programa que lea dicho archivo y muestre un reporte de cada estudiante:

Nombre: <nombre del estudiante>

Edad: <edad>

Sexo: <sexo>

Cali caciones:

- Matemáticas: <cali cación>

- Física: <cali cación>

- Filosofía: <cali cación>

• El cada línea en el archivo tiene la estructura:

<nombre del estudiante>:<edad>:<sexo>:<nota Matemáticas>:<nota Física>:<nota Filosofía>

15
fi
fi
fi
fi
fi
Actividad #4
• El archivo notas2.txt contiene el listado con las notas nales de los estudiantes durante un semestre. Un estudiante puede haber cursado más asignaturas
que otro. Escribo un programa que lea dicho archivo y muestre un reporte de cada estudiante:

Nombre: <nombre del estudiante>

Cali caciones:

- <Asignatura>: <cali cación>

• El contenido del archivo tiene la estructura

nombre:<nombre del estudiante 1>

<asignatura>:<nota nal>

<asignatura>:<nota nal>

nombre:<nombre del estudiante 2>

<asignatura>:<nota nal>

<asignatura>:<nota nal>

16
fi
fi
fi
fi
fi
fi
fi
Escribir a un archivo
• write(cadena) Escribe el valor de cadena al archivo. El
comportamiento varía según el modo de apertura del
archivo.

• writelines(lista_cadenas) Escribe una lista de cadenas al


archivo. El comportamiento varía según el modo de
apertura del archivo.

17
Actividad #5
• El archivo diccionario_es-en.txt contiene un diccionario de palabras en Español
con su correspondiente traducción al Inglés. Escribir un programa que permita
agregar las traducciones para las palabras perro y gato.

• Extender el programa anterior de manera que se le solicite al usuario introducir


nuevas entradas. En caso de que la entrada ya exista, se le muestra un mensaje
al usuario

18
Trabajo con carpetas
• Biblioteca OS

• os.path.dirname(path)

• os.path.join(carpeta, carpeta, carpeta)

• os.path.isdir(path)

• os.path.is le(path)

• os.path.exists(path)

• os.listdir(path)

• os.getcwd()

• os.mkdir(path)

• os.makedirs(path)

• os.rmdir(path)

• os.removedirs(path)

• os.rename(nombre_anterior, nuevo_nombre)
19
fi
Actividad #6
• Modi car el programa de la Actividad #3 para que, en lugar de escribir en
pantalla, guarde la información de cada estudiante en una carpeta llamada
per les que tendrá la siguiente estructura:

• Per les

• <nombre del estudiante>

• per l.txt -> archivo texto que contiene el sexo y la edad del estudiante

• Materias

• <asignatura> -> nombre de la asignatura

• cali cación_ nal.txt -> nota nal de la <asignatura>

20
fi
fi
fi
fi
fi
fi
fi
Archivos comprimidos
• Biblioteca GZIP

• gzip.open(path, modo)

21
Actividad #7
• Escribir un programa que abra el chero sdg_08_10.tsv.gz que contiene
información sobre el PIB per cápita de los países de la Unión Europea, pregunte
por las iniciales de un país y muestre el PIB per cápita de ese país de todos los
años disponibles.

22
fi

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy