Curso de Python VII

python_header

En la anterior entrada creamos nuestra calculadora de IMC personalizada. La cual nos decía si teníamos peso saludable, sobrepeso, etc, y dejamos pendiente crear un log para realizar un análisis posteriormente. Empezaremos un ejemplo nuevo y cuando tengamos el concepto aprendido lo implantaremos en nuestra calculadora de manera muy sencilla.

En la segunda parte de este artículo aprenderemos el uso de funciones para hacer mas legible el código y poder reutilizarlo cuando queramos sin tener que repetir líneas.

Guardar datos en un txt con Python

El tratamiento de archivos en Python se basa en 3 pasos: abrir el archivo, tratar el archivo y finalmente cerrar el archivo. Al abrir el archivo hay que especificar el modo, siendo los más comunes:

(r) ->Read. Sólo lee el archivo, el cual debe existir previamente.

(w) -> Write. Si no existe el archivo lo crea y si existiera sobreescribe el contenido.

(a) -> Append. Hace la misma función que (w) con la diferencia que a la hora de escribir no sobreescribe el archivo, sino que añade el contenido al final del mismo. Es la opción más usada en la mayoría de los casos.

Algo imprescindible de conocer tanto a nivel de programación como a nivel de usuarios son los tipos de rutas, rutas absolutas y rutas relativas:

Ruta absoluta -> Se indica la ruta completa del archivo. Ejemplo: C:\miCarpeta\archivo.py

Ruta relativa -> Se indica la ruta a partir de donde ejecutemos el archivo. Ejemplo: \archivo.py

Depende de lo que queramos usaremos una u otra. Un ejemplo de ruta absoluta es la instalación de programas en un PC y un ejemplo de ruta relativa es cuando ejecutas un programa que crea otro archivo en la misma carpeta que donde lo ejecutaste. Las rutas relativas son las que usaremos por ahora.

Es hora de pasar a la acción:

python1

esto nos creará el archivo log.txt como le hemos indicado y le añadimos la mítica frase ‘Hola mundo!’. Podemos ver el archivo creado en la parte izquierda de la ventana y abrirlo con un doble clic

python2

python3

¿y si ejecutamos el programa dos veces? Inmediatamente en el siguiente espacio volverá a escribir lo que le indiquemos

python4

así que vamos a solucionar esto que no es lo que queremos en este caso. Simplemente debemos añadir un \n al final de la frase a imprimir para que realice un salto de línea y listo

python5

python6

La escritura está casi lista. No debemos olvidar cerrar el archivo

python7

 

Leer datos de un txt con Python

Antes que nada editamos el archivo log.txt para que la lectura sea mas visual

python8

y en nuestro ejemplo simplemente cambiamos el modo de apertura (r) y como podemos ver en la línea 5 almacenamos en la variable contenido la lectura de las lineas con el comando archivo.readlines(). Finalmente imprimimos la variable contenido

python9 python10

Nos ha impreso una lista. Esto se soluciona recorriendo cada uno de sus elementos y nada mejor que usar un bucle for

python11

python12

Ya hemos visto como tratar archivos txt, tanto en su escritura como su lectura. Existen más métodos para usar con los archivos pero esto nos valdrá por ahora para los ejemplos que iremos viendo.

Guardando el log de nuestro IMC

Ahora que tenemos la calculadora de IMC y sabemos manejar archivos .txt, solo nos queda implementarlo. Para ello empezaremos a usar las funciones aunque en el siguiente capítulo las explicaré mas detalladamente. En la línea 3 creamos la función con la palabra def e incluimos las instrucciones en su interior. Para usar la función hice la llamada en la línea 30 justo después de mostrar en pantalla el resultado del cálculo IMC

python13

Ejecutamos dos veces con dos ejemplos diferentes

python14 python15

y vemos en el archivo log.txt como nos ha almacenado el resultado del cálculo como hemos indicado

python16

 

Es importante crear la función antes de llamarla, ya que en la programación estructurada el computador interpreta línea a línea y no puede usar una función que no ha sido creada. Con esto finalizamos el manejo de archivos con Python y la implementación en nuestra calculadora de IMC.

Un salu2!

 

Curso de Python I
Curso de Python II
Curso de Python III
Curso de Python IV
Curso de Python V
Curso de Python VI
Curso de Python VII
Curso de Python VIII
Curso de Python IX
Curso de Python X
Curso de Python XI
Curso de Python XII
Curso de Python XIII
Curso de Python XIV