Estos ejercicios son optativos para hacer al final de la unidad y están pensados para apoyar tu aprendizaje.
Todos los ejercicios de ficheros deberás realizarlos en scripts creados en el mismo directorio donde vayas a crear los ficheros de datos tal como se te indicará en los ejercicios.
1) En este ejercicio deberás crear un script llamado personas.py que lea los datos de un fichero de texto, que transforme cada fila en un diccionario y lo añada a una lista llamada personas. Luego rocorre las personas de la lista y para cada una muestra de forma amigable todos sus campos.
El fichero de texto se denominará personas.txt y tendrá el siguiente contenido en texto plano (créalo previamente):
1;Carlos;Pérez;05/01/1989
2;Manuel;Heredia;26/12/1973
3;Rosa;Campos;12/06/1961
4;David;García;25/07/2006
Los campos del diccionario serán por orden: id, nombre, apellido y nacimiento.
Aviso importante: Si quieres leer un fichero que no se ha escrito directamente con Python, entonces es posible que encuentres errores de codificación al mostrar algunos caracteres. Asegúrate de indicar la codificación del fichero manualmente durante la apertura como argumento en el open, por ejemplo con UTF-8:
open(..., encoding="utf8")
2) En este ejercicio deberás crear un script llamado contador.py que realice varias tareas sobre un fichero llamado contador.txt que almacenará un contador de visitas (será un número):
3) Utilizando como base el ejercicio de los personajes que hicimos, en este ejercicio tendrás que crear un gestor de personajes (gestor.py) para añadir y borrar la información de los siguientes personajes:
Vida | Ataque | Defensa | Alcance | |
---|---|---|---|---|
Caballero | 4 | 2 | 4 | 2 |
Guerrero | 2 | 4 | 2 | 4 |
Arquero | 2 | 4 | 1 | 8 |
Deberás hacer uso del módulo pickle y todos los cambios que realices se irán guardando en un fichero binario personajes.pckl, por lo que aunque cerremos el programa los datos persistirán.
Una vez lo tengas listo realiza las siguientes prueba en tu código:
Sugerencias: El ejemplo con pickle que realizamos puede servirte como base.
In [ ]: