Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lab 14 - Archivos en Python
Lab 14 - Archivos en Python
PROGRAMACIÓN
LABORATORIO N° 14
ARCHIVOS EN PYTHON
Alumno(s) Nota
Grupo
Ciclo
Fecha de entrega
I.- OBJETIVOS:
● Elaborar y diseñar programas en Python que permitan leer y escribir datos en archivos
II.- SEGURIDAD:
Advertencia:
En este laboratorio está prohibida la manipulación del
hardware, conexiones eléctricas o de red; así como la
ingestión de alimentos o bebidas.
V.- RECURSOS:
● En este laboratorio cada alumno trabajará con un equipo con Windows 10.
VIII.- PROCEDIMIENTO:
Crear un nuevo proyecto llamado “Lab14”. Crear, dentro de este proyecto, un programa Python para cada
ejercicio.
EJERCICIOS DE APLICACIÓN:
LECTURA DE ARCHIVOS
1.4. Indique qué es lo que hace cada una de las líneas numeradas del programa anterior:
No Descripción
Linea
1 ‘archivo = open('datos.txt', 'rt'):
Abre el archivo llamado 'datos.txt' en modo de
lectura de texto ('rt') y asigna el objeto de archivo resultante a la variable
Lab 14
Laboratorio de Fundamentos de Programación Página 3 de 8
llamada ‘archivo’.
2 ‘contenido = archivo.read()’: Lee el contenido completo del archivo
abierto y lo almacena en la variable ‘ contenido’. La función ‘read()’ lee todo
el contenido del archivo y lo devuelve como una cadena.
3 ‘print(contenido)’: Imprime en la consola el contenido del archivo que se
almacenó en la variable ‘contenido’. En otras palabras, muestra en la
pantalla el texto contenido en el archivo 'datos.txt'.
4 ‘archivo.close()’: Cierra el archivo. Es importante cerrar el archivo después
de haberlo utilizado para liberar recursos del sistema y asegurarse de que
todos los cambios realizados en el archivo se guarden correctamente.
1.5. Ejecute el programa y verifique que se muestre en la consola de Python el contenido del archivo
“datos.txt” que acaba de ser leido por este programa. Adjunte la captura de la salida del programa:
2.2. Indique qué es lo que hace cada una de las líneas numeradas del programa anterior:
No Descripción
Linea
1 archivo=open('datos.txt','rt'): Abre el archivo llamado 'datos.txt' en modo
de lectura de texto ('rt') y asigna el objeto de archivo resultante a la variable
archivo.
2 nro = 1: Inicializa una variable llamada nro con el valor 1. Esta variable se
utiliza para llevar la cuenta de la línea actual mientras se itera a través del
archivo.
3 for linea in archivo:: Inicia un bucle for que itera sobre cada línea en el
archivo. En cada iteración, la variable linea contendrá el contenido de la
línea actual.
4 print(nro, linea): Imprime el número de línea ( nro) seguido del contenido
de la línea (linea). Este fragmento parece destinado a imprimir el número de
línea junto con su contenido.
5 nro += 1: Incrementa el valor de nro en 1 en cada iteración del bucle, lo que
se utiliza para llevar la cuenta del número de línea actual.
6 archivo.close(): Cierra el archivo después de que el bucle for ha
completado su ejecución. Sin embargo, hay un error en esta línea, ya que
debería estar fuera del bucle for. El cierre del archivo debería estar al final
Lab 14
Laboratorio de Fundamentos de Programación Página 4 de 8
3. Lectura de archivo por líneas eliminando el “salto de línea” de cada linea del archivo de texto
3.1. Crear un nuevo programa denominado archivos_03.py con el siguiente contenido:
3.2. Indique qué es lo que hace cada una de las líneas numeradas del programa anterior:
No Descripción
Linea
1 archivo = open('datos.txt', 'rt'): Abre el archivo llamado 'datos.txt' en
modo de lectura de texto ('rt') y asigna el objeto de archivo resultante a la
variable llamada archivo.
2 nro = 1: Inicializa una variable llamada nro con el valor 1. Esta variable se
utilizará para imprimir el número de línea.
3 for linea in archivo:: Inicia un bucle for que recorre cada línea del archivo.
La variable linea contendrá cada línea del archivo en cada iteración.
4 linea = linea.rstrip(): Elimina los espacios en blanco al final de cada
línea. Esto es útil para eliminar caracteres como espacios en blanco,
tabulaciones y saltos de línea que podrían estar presentes al final de cada
línea del archivo.
5 print(nro, linea): Imprime el número de línea ( nro) y la línea actual ( linea).
Sin embargo, hay un problema aquí: debería ser print(nro, linea) en lugar
de print(nro,linea). Además, es importante señalar que la función print
agrega automáticamente un salto de línea al final, por lo que no es
Lab 14
Laboratorio de Fundamentos de Programación Página 5 de 8
4.2. Indique qué es lo que hace cada una de las líneas numeradas del programa anterior:
No Descripción
Linea
1 archivo = open('datos.txt', 'rt'): Abre el archivo llamado 'datos.txt' en
modo de lectura de texto ('rt') y asigna el objeto de archivo resultante a la
variable llamada 'archivo'. Este objeto se utilizará para acceder al contenido
del archivo.
2 linea = archivo.readline(): Lee la primera línea del archivo y la asigna a la
variable 'linea'. readline() se utiliza para leer una línea completa del archivo.
3 nro = 1: Inicializa una variable llamada 'nro' con el valor 1. Esta variable se
utilizará para llevar un conteo del número de líneas del archivo.
4 while linea != '':: Inicia un bucle while que se ejecutará mientras la
variable 'linea' no sea una cadena vacía, es decir, mientras haya líneas por
leer en el archivo.
5 linea = linea.rstrip(): Elimina los espacios en blanco al final de la línea.
rstrip() se utiliza para eliminar caracteres de espacio en blanco (como
espacios y saltos de línea) del extremo derecho de la cadena.
6 print(nro, ': ', linea, sep=''): Imprime en la consola el número de línea
Lab 14
Laboratorio de Fundamentos de Programación Página 6 de 8
('nro'), seguido por dos puntos y el contenido de la línea, sin espacio entre
ellos (gracias al argumento sep='').
7 nro += 1: Incrementa el valor de la variable 'nro' en 1 para prepararse para la
próxima línea.
8 linea = archivo.readline(): Lee la siguiente línea del archivo y actualiza la
variable 'linea' con el nuevo contenido. Esto permite que el bucle continúe
hasta que se haya leído todo el archivo.
9 archivo.close(): Cierra el archivo después de que todas las líneas se han
leído e impreso. Es importante cerrar el archivo después de usarlo para
liberar recursos del sistema.
4.3. Ejecute el programa y verifique que se muestre en la consola de Python el contenido del archivo
“datos.txt” que acaba de ser leido por este programa. Adjunte la captura de la salida del programa:
5.2. Indique qué es lo que hace cada una de las líneas numeradas del programa anterior:
No Descripción
Linea
1 archivo = open('nombres.txt', 'wt'): Abre el archivo 'nombres.txt' en modo
de escritura ('wt'), creando el archivo si no existe. La variable archivo se
utiliza para referenciar este archivo en el resto del programa.
2 while True:: Inicia un bucle infinito.
3 nombre = input('ingrese nombre a grabar: '): Solicita al usuario que
ingrese un nombre a través de la entrada estándar (teclado) y almacena el
valor ingresado en la variable nombre.
4 if nombre !='':: Verifica si el valor ingresado en nombre no es una cadena
vacía.
5 archivo.write(nombre): Si el nombre no es una cadena vacía, escribe el
nombre en el archivo 'nombres.txt'.
6 else:: Si el nombre es una cadena vacía (es decir, el usuario no ingresó
ningún nombre), salta a esta parte del código.
7 break: Sale del bucle while True cuando se ingresa un nombre vacío.
Lab 14
Laboratorio de Fundamentos de Programación Página 7 de 8
no se guardo los nombres en diferentes lineas por que no se agrego el salto de linea ‘\n’
6. Escritura de archivo en Python – Incluir salto de linea
6.1. Crear un nuevo programa denominado archivos_06.py con el siguiente contenido:
6.2. Indique qué es lo que hace cada una de las líneas numeradas del programa anterior:
No Descripción
Linea
1 archivo = open('nombres.txt','wt'): Abre un archivo llamado 'nombres.txt'
en modo de escritura de texto ('wt'). La variable archivo se utiliza para
referirse a este objeto de archivo.
3 while True:: Inicia un bucle infinito. Esto significa que el programa
continuará ejecutándose en un bucle hasta que se rompa explícitamente
con la instrucción break (línea 8).
4 nombre = input('ingrese nombre a grabar: '): Solicita al usuario que
Lab 14
Laboratorio de Fundamentos de Programación Página 8 de 8
de esta manera los nombres se ordenan 1 en cada linea gracias a ‘\n’ que hace que cada nombre
guardado se genere en una linea diferente
7.2. Indique qué es lo que hace cada una de las líneas numeradas del programa anterior:
No Descripción
Linea
1 archivo = open('nombres.txt', 'wt'): Abre el archivo 'nombres.txt' en modo
de escritura de texto ('wt') y asigna el objeto de archivo resultante a la
variable 'archivo'. Esto permite al programa escribir en el archivo.
3 while True:: Inicia un bucle infinito. Este bucle se ejecutará continuamente
hasta que se rompa explícitamente con la instrucción break.
4 nombre = input('ingrese nombre del contacto : '): Solicita al usuario que
ingrese un nombre de contacto a través de la entrada estándar y asigna la
entrada a la variable 'nombre'.
5 if nombre == '':: Verifica si el nombre ingresado es una cadena vacía.
6 break: Si el nombre ingresado es una cadena vacía (es decir, el usuario no
ingresó ningún nombre), rompe el bucle infinito, saliendo del programa.
7 celular = input('ingrese numero de celular : ') : Si el bucle no se rompe,
solicita al usuario que ingrese un número de celular y asigna la entrada a la
variable 'celular'.
8 archivo.write(nombre + ': ' + celular + '\n') : Escribe en el archivo
'nombres.txt' la concatenación del nombre, dos puntos, el número de celular
y un carácter de nueva línea. Cada vez que se ingresa un nombre y un
número de celular, esta información se agrega como una nueva línea al
archivo.
10 archivo.close(): Cierra el archivo 'nombres.txt' después de que el bucle
infinito se rompe, finalizando así el programa. Es importante cerrar el
archivo después de su uso para asegurar que todos los cambios se escriban
correctamente.
7.3. Ejecute el programa y verifique que se haya creado/reemplazado en la carpeta de su proyecto el archivo
de nombre “nombres.txt” Adjunte la imagen donde se muestre su contenido:
Lab 14
Laboratorio de Fundamentos de Programación Página 10 de 8
8.2. Indique qué es lo que hace cada una de las líneas numeradas del programa anterior:
No Descripción
Linea
1 archivo = open('nombres.txt', 'wt'): Abre el archivo llamado 'nombres.txt'
en modo de escritura de texto ('wt') y asigna el objeto de archivo resultante a
la variable llamada archivo.
3 nro = 1: Inicializa una variable llamada nro con el valor 1. Esta variable se
utiliza para llevar la cuenta del número de contactos.
4 archivo.write('nro nombre de contacto celular\n'): Escribe una línea de
encabezado en el archivo que indica las columnas correspondientes a
número de contacto, nombre de contacto y número de celular.
5 archivo.write('=== ===================== =======\n'): Escribe una línea
de separación con caracteres de igual para delimitar visualmente las
columnas.
6 while True:: Inicia un bucle infinito que continuará ejecutándose hasta que
se rompa explícitamente con la instrucción break.
7 nombre = input('ingrese nombre de contacto : ') : Solicita al usuario que
ingrese el nombre del contacto.
8 if nombre == '':: Verifica si el nombre ingresado está vacío.
9 break: Rompe el bucle si el nombre ingresado está vacío, lo que significa que
el usuario no desea ingresar más contactos.
10 celular = input('ingrese numero de celular :'): Solicita al usuario que
ingrese el número de celular del contacto.
11 linea = "{0:03d} {1:<20s} {2}\n".format(nro, nombre, celular): Formatea
una cadena que representa la línea de datos del contacto, utilizando el
número de contacto (nro), el nombre del contacto (nombre) y el número de
celular (celular). La cadena resultante se almacena en la variable linea.
12 archivo.write(linea): Escribe la línea formateada en el archivo.
13 nro += 1: Incrementa el valor de nro para el próximo contacto.
15 archivo.close(): Cierra el archivo después de que el bucle ha terminado y
todos los datos han sido escritos en él.
8.3. Ejecute el programa y verifique que se haya creado/reemplazado en la carpeta de su proyecto el archivo
de nombre “nombres.txt” Adjunte la imagen donde se muestre su contenido:
Lab 14
Laboratorio de Fundamentos de Programación Página 11 de 8
EJERCICIOS PROPUESTOS
1. Crear un programa en Pyhon que lea, por teclado, tu nombre, curso, 2 notas, calcule el promedio y la
condicion (aprobado / desaprobado). Posteriomente, que guarde en un archivo de texto la fecha actual,
el nombre, curso, promedio y condición. Finalmente, que muestre en pantalla el contenido del archivo.
Programa en Python
Lab 14
Laboratorio de Fundamentos de Programación Página 12 de 8
2. Elabore una aplicación Python que registre ventas. La información a registrar ser la siguiente:
● Información ingresada por teclado 🡪Nombre de producto, precio, cantidad
● Información que se debe obtener o calcular 🡪 Fecha de venta (fecha actual), subtotal, monto de
igv (18%) y total
Utilice el modo ‘at’ para el trabajo con el archivo de registro de ventas. Se puede emplear un bucle para
ingresar varias ventas en la ejecución de la aplicación.
Programa en Python
Lab 14
Laboratorio de Fundamentos de Programación Página 13 de 8
Lab 14
Laboratorio de Fundamentos de Programación Página 14 de 8
Lab 14
Laboratorio de Fundamentos de Programación Página 15 de 8
OBSERVACIONES:
1 En los ejercicios del 1 al 8 nos enseña a elaborar archivos y códigos en python de una manera muy
versatil y facil de entender y nos enseña varias abreviaciones para escribir algo que se quede guardado
en el archivo o leer el contenido del archivo de una manera simple y fácil de entender
2 En los primeros ejercicios propuestos nos define a crear archivos en python con varios factores que ya
hemos hecho anteriormente por ejemplo sacar porcentajes tomar la fecha y la hora actual tambien
agregando condiciones
3 Olvidar cerrar un archivo después de trabajar con él puede causar problemas. Aunque Python tiene
recolección de basura para manejar algunos casos, es buena práctica cerrar explícitamente los
archivos con close(). El uso de la declaración with es una forma eficaz de garantizar que el
archivo se cierre correctamente incluso si ocurren excepciones durante la ejecución.
CONCLUSIONES:
1 Python proporciona una variedad de funciones y métodos para trabajar con archivos, lo que brinda
flexibilidad en la manipulación de datos. Los modos de apertura permiten realizar operaciones como
lectura, escritura, y concatenación de datos, adaptándose a diferentes necesidades.
2 La capacidad de interactuar con el usuario mediante la entrada desde el teclado facilita la creación
de programas que recopilan información de manera dinámica. Esto es especialmente útil al
desarrollar aplicaciones que requieren la entrada de datos en tiempo real, como registros de ventas o
información de estudiantes.
3 El uso de archivos en Python facilita el manejo eficiente de información, ya que los datos pueden
persistir entre diferentes ejecuciones del programa. Esto permite almacenar y recuperar información
de manera sencilla, evitando la pérdida de datos entre sesiones.