Curso de Python – 8. Ficheros
Programamos para que una máquina gestione los datos por nosotros y como nosotros queremos. Los ficheros permitirán guardar tanta cantidad de datos de datos como queramos, unos ficheros con información antes de ser procesada y otros con la información después de ser procesada; por ello serán una de las principales entradas y salidas de nuestro programa.
Este artículo forma parte del curso completo de Python
Teoría
8.1- Ficheros y Directorios
Un sistema operativo (Windows, Linux, Mac, Android, etc.) gestiona los datos con ficheros y estos estarán clasificados en estructuras de directorios. Saber gestionar los ficheros y directorios será un punto crucial a la hora de trabajar con ellos.
Para saber más en las siguientes entradas:
8.2- Rutas (Path)
La ruta es el camino a seguir a través de los directorios para alcanzar un fichero o varios ficheros. Con el método Path será muy fácil y práctico llegar a utilizar tantos ficheros como queramos.
Ejercicios
Ejercicio 8.1-crear_fichero_y_leer_fichero.py
Con código Python crea un directorio en una ubicación de tu ordenador y dentro un fichero.
Dentro del fichero escribe cinco líneas de números aleatorios del 1 al 10 (Parte 1).
Luego lee ese fichero e imprime cada línea por pantalla.
A continuación, añade al final del fichero un par de líneas de texto (Parte 2).
Y vuelve a leer el fichero.
Ejercicio 8.2-futbolistas.py
Dado el fichero “futbolistas.txt” en el que en cada línea contiene datos de un futbolista, se pide:
- Implementar una función llamada “file_to_list(file_dir)” que dada la ruta del fichero futbolista.txt, devuelva una
lista en la que cada elemento corresponde con una línea del fichero; es decir, que cada elemento representa a los datos del futbolista. - Implementar una función llamada “get_top_goals_players(list_players, top_n)” que dada la lista de futbolistas
devuelva en otra lista los “top_n” futbolistas más goleadores. - Implementar una función llamada “get_players_by_team(list_players, team)” que dada la lista de futbolistas devuelva
en otra lista con todos los jugadores que han militado en el equipo que se pasa como parámetro (team), ordenados de forma descendente por el número de minutos que han jugado. - Implementar una función llamada “write_list_to_file(list_to_write, file_dir)” que dada la lista que se pasa como
parámetro (list_to_write), escriba en el fichero que se pasa como parámetro “file_dir” cada elemento de la lista en una línea. - Escribir las listas creadas en los puntos b y c en un fichero, utilizando la función implementada en el punto d.
En el fichero de futbolistas.txt, cada línea contiene datos de un jugador de futbol y los datos están separados por el separador “::”. Los datos que hay en cada posición son los siguientes:
1 | id | 14 | PartidosCompletos | 27 | Numligas |
2 | Apodo | 15 | PartidosSuplente | 28 | NumCopasDelRey |
3 | Nombre | 16 | PartidosSustituidos | 29 | NumSuperCopas |
4 | FechaNacimiento | 17 | partidosPorTemporadas | 30 | NumChampions |
5 | LugarNacimiento | 18 | PorcentajePartidos | 31 | NumUEFAs |
6 | Pais | 19 | MinutosJugados | 32 | NumEuropaLeagues |
7 | Altura | 20 | MinutoPorPartido | 33 | NumSuperCopasEuropa |
8 | Peso | 21 | Goles | 34 | NumMundialesClubes |
9 | Demarcacion | 22 | TarjetasAmarillas | 35 | NumIntercontinentales |
10 | NumTemporadas | 23 | TarjetasRojas | 36 | NumMundiales |
11 | NumEquipos | 24 | PartidosSeleccionEspaniola | 37 | Numeurocopas |
12 | PartidosJugados | 25 | GolesSeleccionEspaniola | 38 | ValorMercado |
13 | PartidosTitular | 26 | Equipos |