Está en la página 1de 16

FUNDAMENTOS DE

PROGRAMACIÓN
LABORATORIO N° 14

ARCHIVOS EN PYTHON

CODIGO DEL CURSO:

Alumno(s) Nota

Nicolas Eduardo Sumire Durand

Grupo
Ciclo
Fecha de entrega

DISEÑO Y DESARROLLO DE SOFTWARE


PROGRAMA DE FORMACIÓN REGULAR
Lab 14
Laboratorio de Fundamentos de Programación Página 1 de 8

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.

III.- FUNDAMENTO TEÓRICO:


1. Revisar el texto guía que está en el campus Virtual.

IV.- NORMAS EMPLEADAS:


2. No aplica

V.- RECURSOS:
● En este laboratorio cada alumno trabajará con un equipo con Windows 10.

VI.- METODOLOGÍA PARA EL DESARROLLO DE LA TAREA:


● El desarrollo del laboratorio es individual.

VII.- MARCO TEÓRICO:


Lab 14
Laboratorio de Fundamentos de Programación Página 2 de 8

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. Lectura simple de archivos en python


1.1. En el nuevo proyecto. Crear un archivo de texto con el nombre “datos.txt”:
(Utilice la opción: File 🡪 New 🡪 File: y asigne el nombre
datos.txt
1.2. Adicione el siguiente contenido al nuevo archivo desde el
editor de PyCharm:
Este es un archivo de texto
lo utilizaremos como ejemplo
para realizar pruebas de lectura
desde un programa en Python

1.3. Crear un nuevo programa denominado archivos_01.py con el siguiente contenido:

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. Lectura de archivo por líneas


2.1. Crear un nuevo programa denominado archivos_02.py con el siguiente contenido:

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

del código, no dentro del bucle.


2.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:
(Indique si hay algo distinto en la salida generada por el programa)
2.4. espacio de una línea entre cada linea de texto

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

necesario agregar uno manualmente.


6 nro += 1: Incrementa el número de línea para la siguiente iteración.
7 archivo.close(): Cierra el archivo después de que el bucle for ha recorrido
todas las líneas. Sin embargo, hay un error en este punto. La línea
archivo.close() debería estar fuera del bucle for, ya que actualmente se
encuentra dentro de él. Debería estar al mismo nivel de indentación que la
línea 3, para cerrar el archivo después de haber recorrido todas las líneas.
3.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:
(Verifique que ya no aparezcan lineas en blanco en la salida generada)

4. Lectura de archivo por líneas usando bucle while


4.1. Crear un nuevo programa denominado archivos_04.py con el siguiente contenido:

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. Escritura de archivo en Python


5.1. Crear un nuevo programa denominado archivos_05.py con el siguiente contenido:

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

8 archivo.close(): Cierra el archivo 'nombres.txt' una vez que el bucle ha


terminado, lo que significa que el usuario ingresó un nombre vacío. Es
importante cerrar el archivo después de haber terminado de escribir en él
para asegurar que todos los cambios se guarden correctamente y liberar los
recursos asociados al archivo.
5.3. Ejecute el programa y verifique que se haya creado en la carpeta de su proyecto un archivo de nombre
“nombres.txt” Adjunte la imagen que muestre la existencia del archivo creado. Abra el archivo y
muestre su contenido: (¿Los nombres se han almacenado en lineas distintas? Explique

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

ingrese un nombre a través de la entrada estándar y almacena ese nombre


en la variable nombre.
5 if nombre != '':: Verifica si la variable nombre no está vacía. En otras
palabras, comprueba si el usuario ha ingresado algún nombre.
6 archivo.write(nombre + '\n'): Si se ha ingresado un nombre, escribe ese
nombre seguido por un salto de línea en el archivo 'nombres.txt'.
7 else:: Si la variable nombre está vacía, es decir, el usuario no ha ingresado
ningún nombre, salta a la línea 8.
8 break: Sale del bucle infinito. Esto ocurre cuando el usuario no ingresa
ningún nombre y presiona Enter, lo que lleva a nombre siendo una cadena
vacía.
10 archivo.close(): Cierra el archivo 'nombres.txt' después de salir del bucle.
Es importante cerrar un archivo después de haber terminado de trabajar con
él para liberar los recursos asociados y garantizar que los cambios se
guarden.
6.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 que muestre la existencia del archivo creado. Abra el
archivo y muestre su contenido: (¿Los nombres se han almacenado en lineas distintas? Explique

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. Escritura de archivo en Python – Registro de contactos


7.1. Crear un nuevo programa denominado archivos_07.py con el siguiente contenido:
Lab 14
Laboratorio de Fundamentos de Programación Página 9 de 8

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. Escritura de archivo en Python – Registro de contactos usando formato de alineación


8.1. Crear un nuevo programa denominado archivos_08.py con el siguiente contenido:

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.

4 La manipulación de datos al leer y escribir en archivos es esencial. Al escribir en un archivo, es


importante formatear y estructurar la información de manera adecuada para facilitar la posterior
lectura o procesamiento. Al leer desde un archivo, se deben tener en cuenta las conversiones de tipo
para asegurar que los datos se manejen correctamente. Además, es crucial verificar la existencia del
archivo antes de intentar abrirlo para evitar errores.

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.

4 El manejo de archivos en Python se presta para la automatización de tareas de registro, como el


seguimiento de ventas, registros de eventos o la generación de informes. Al integrar la escritura y
lectura de archivos con otras operaciones en el programa, se puede crear un flujo de trabajo más
eficiente y preciso.

"Dime y lo olvido, enséñame y lo recuerdo, involúcrame y lo aprendo”. Benjamín Franklin (1706-1790)

También podría gustarte