[MÚSICA] En esta lección introduciremos el concepto de archivos, así como las razones por las que estos son muy útiles, y las posibles acciones que se pueden realizar en ellos en Python. ¿Qué es un archivo? Todos hemos visto que en un computador la información está dispuesta de cierta manera, muchas carpetas, y dentro de ellas más carpetas, y también archivos. Se puede pensar que las carpetas son como una dirección de tu casa sólo indica dónde está, pero no cómo es tu casa. En cambio, el archivo es como tu casa misma, es la que contiene todas las cosas, en este caso, los datos. Y, ¿cuándo ocupamos archivos en tareas de programación? En dos palabras, muchas veces, por ejemplo, siempre que queremos guardar información generada por un programa después de que haya terminado de ejecutarse, o incluso aunque se haya apagado el computador, o simétricamente cuando lo que queremos es leer alguna información que tengamos guardada en nuestro computador. Y siguiendo con el ejemplo de las casas, sabemos que hay casas de muchos tipos, las hay grandes, pequeñas, apartamentos, etcétera. Del mismo modo, hay muchos tipos de archivos, el tipo de archivo se indica por la terminación indicada después de un punto, al final del nombre del archivo. Algunos de los ejemplos más comunes que debes haber visto son los .doc de Microsoft Word, o los .ppt de las presentaciones PowerPoint, los .txt, los .exe, etcétera. En esta lección ocuparemos solamente los archivos .txt por simplicidad, pero muchos de los principios que vemos son los mismos para diferentes tipos de archivo. [SONIDO] Pero, ¿qué podemos hacer en Python con archivos? Todo lo necesario para comunicar esos datos a otras personas, a nosotros mismos en el futuro, es decir, los podemos leer, escribir, copiarlos, entre muchas otras cosas. Por ejemplo, podríamos tener un programa que dadas las notas de ciertos alumnos, calculada la nota final, y si aprueban o no el curso. Claramente, para que el programa pueda funcionar necesita las notas de los alumnos, y aquí tenemos dos opciones, lo que podemos hacer es copiarlas y pegarlas manualmente en un stream de Python, probablemente esto sería terriblemente largo, y tedioso, y con errores, o la otra opción es leerlas desde un archivo, y así nos ahorramos el trabajo de conseguir esos datos. Equivalentemente, una vez calculadas las cosas, hay dos opciones, imprimir el resultado en pantalla, copiarlos y pegarlos manualmente donde corresponda, o bien, escribir, ayudados por Python eso sí, los resultados de un archivo de una manera ordenada. En casos como estos los archivos probarán ahorrarnos grandes cantidades de trabajo tedioso, y mantendrá los datos de entrada y salida de cada programa aunque se apague el computador, o aunque se interrumpa la ejecución del programa. [AUDIO EN BLANCO]