Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Este documento forma parte del curso Programación con Python del CEFIRE CTEM.
articulos.txt
campo1-campo2-campo3-campo4
...
articulos.txt
Zapatilla Running Nike-8-75.0-12/09/2018
Chandal Adidas-2-89.95-1/10/2018
Raqueta Wilson-1-120-5/03/2018
...
Como podemos observar, el stock es un número entero, el precio tiene decimales por lo
tanto será un float, mientras que la fecha viene expresada en formato dd/mm/yyyy,
utilizando la barra / para separar los campos de la fecha (día, mes y año), para
diferenciarla del guion que es el carácter que utilizamos para separar los campos del
registro.
Por una parte tenemos el fichero de articulos.txt que abriremos en modo lectura (r) y por
otra tendremos que crear 2 ficheros nuevos más: articulos_ok.txt y
articulos_obsoletos.txt. La idea es que del fichero inicial articulos.txt tenemos que
generar 2 ficheros nuevos: articulos_ok.txt y articulos_obsoletos.txt, guardando o
Página 1
Curso de Programación en Python – Sesión 4: Tratamiento de Ficheros y Fechas
En primer solicitaremos al usuario que introduzca cual es el número de días a partir del
cual un artículo es considerado obsoleto (dias obsolescencia), es decir si el número de
días transcurrido entre la fecha del último pedido del artículo en cuestión y la fecha
actual es mayor que los días de obsolescencia, entonces el artículo será
considerado obsoleto. Por cada uno de los artículos, es importante conocer este dato
por algo que explicaremos un poco más abajo. Para ello utilizaremos la función
introduce_dias_obsolescencia(), la cual se encargará de solicitar este dato y de
comprobar que este valor se encuentra ente 100 y 500 ambos inclusive. En caso de
que el valor introducido no se encuentre en este intervalo, se visualizará un mensaje de
error y la función volverá a solicitar el dato. Para realizar este control se empleará una
estructura repetitiva while ...
La función introduce_dias_obsolescencia() devolverá al programa principal (return
…) el número de días de obsolescencia (num_dias_obsolescencia).
Una vez que conocemos este dato, recorremos el fichero articulos.txt para determinar por
cada artículo si es obsoleto o no. Para conocer este dato, utilizaremos la función
es_obsoleto(…,...), a la cual le pasaremos como parámetros la cadena
fecha_ultimo_pedido y el número de días de obsolescencia y la función determinará
en función de los días transcurridos desde la fecha del último pedido, hasta la fecha
actual, si el artículo es obsoleto, devolviendo un dato booleano (return), True cuando
es obsoleto y False cuando no lo es.
En el caso de que el artículo sea obsoleto, se insertará en el fichero
articulos_obsoletos.txt, pero en lugar de insertar todos los campos, solo insertaremos
la Descripción y el Stock. Si no lo es se insertará en el fichero articulos_ok.txt con
todos los campos.
Página 2
Curso de Programación en Python – Sesión 4: Tratamiento de Ficheros y Fechas
articulos.txt
Zapatilla Running Nike-8-75.0-12/09/2018
Chandal Adidas-2-89.95-1/10/2018
Raqueta Wilson-1-120-5/03/2018
...
es_obsoleto(…)
SI NO
Para realizar este proceso, o bien podemos utilzar el método readlines() y volcar
todos los Registros en una Lista y después recorrer o iterar sobre la lista, o bien
utilzar el método readline() e ir volcando cada Registro en una cadena, con lo cual
iteraremos sobre el fichero artículos.txt. Recordemos que para separar cada campo
de la cadena tenemos que utilzar la función split(...) que explicábamos en la página
20 de esta sesión.
Finalmente no debemos olvidar cerrar los 3 ficheros.
Página 3
Curso de Programación en Python – Sesión 4: Tratamiento de Ficheros y Fechas
Página 4