Archivos. Qué es un archivo? 08/11/18. Ing. Roberto Martínez Román - Datos persistentes


Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Archivos. Qué es un archivo? 08/11/18. Ing. Roberto Martínez Román - Datos persistentes"

Transcripción

1 Archivos Datos persistentes Qué es un archivo? Es un conjunto de datos guardados en un dispositivo de almacenamiento secundario. Archivo Flujo de datos Programa 1

2 Tipos de archivo Texto. La información se traduce para que sea entendible por las personas. Archivos de texto. Binarios. La información se almacena tal y como se encuentra en memoria (binario). Videos. Audio. Imágenes. Aplicaciones. Hola Soy un archivo de texto Abrir archivos Para enlazar una variable con el archivo, usamos la función open archivo = open("nombre.ext", "modo", encoding="utf-8") Nombre y extensión del archivo que se desea abrir. Modo de apertura: r, lectura w, escritura a, añadir b, binario +, lectura/escritura 2

3 Leyendo datos del archivo entrada = open("archivo.txt", "r", encoding="utf-8") cadena = entrada.read() cadena = entrada.read(n) linea = entrada.readline() lista = entrada.readlines() Lee TODO el contenido del archivo como String. Lee n caracteres del archivo. Lee una línea del archivo. 1. Abrir 2. Leer Lee todas las líneas del archivo y las regresa en una lista. entrada.close() 3. Cerrar La lectura es secuencial. Cuando no hay más datos para leer, las funciones anteriores regresan "" (la cadena vacía). read(n) y readline() La lectura de un archivo se hace de manera secuencial. Si lees un archivo y no hay más datos por procesar, estas funciones regresan la cadena vacía "" read, reconoce el carácter \n del archivo. readline, regresa la cadena con \n al final. 3

4 Archivo: Hola Mundo leyendo datos en Python contenido = f.read() cadena = f.read(8) lineaa = f.readline() lineab = f.readline() lineac = f.readline() linead = f.readline() lineax = f.readline() lista = f.readlines() Iterando sobre los datos del archivo entrada = open("info.txt", "r") for linea in entrada: print(linea) for linea in open("info.txt"): print(linea) entrada = open("info.txt", "r") lista = entrada.readlines() for linea in lista: print(linea) Hola Mundo leyendo datos en Python 4

5 Cerrando un archivo Una vez que se ha dejado de usar un archivo, éste se debe cerrar para liberar el recurso. archivo.close() Ejercicios Escribe un programa que le pida al usuario el nombre de un archivo de texto y que lo muestre en la pantalla. Escribe un programa que lea un archivo de texto y que muestre en la pantalla las líneas numeradas. Escribe un programa que lea un archivo de texto y que muestre los caracteres con un espacio de separación. Hola Soy un archivo de texto H o l a S o y u n a r c h i v o d e t e x t o 5

6 Función split de cadenas Esta función divide una cadena en tokens. Regresa una lista con los tokens individuales. cadena = "Hola Mundo" lista = cadena.split() a = "Tecnológico de Monterrey" datos = a.split('o') Dibujando Escribe un programa que 'interprete' instrucciones de un archivo de texto. Rectángulo: r r red Línea: l l blue Círculo: c c green 6

7 Escribiendo datos en un archivo salida = open("datos.txt", "w") 1. Abrir salida.write(cadena) salida.writelines(listacadenas) Escribe una cadena en el archivo Escribe una lista de cadenas en el archivo salida.close() 3. Cerrar 2. Escribir Ejercicios Escribe un programa que cree un archivo de salida con 20 números enteros aleatorios en el rango [350, 600] Escribe un programa que pida al usuario el nombre de un archivo de texto y que cree una copia con las líneas numeradas y todas las letras convertidas a mayúsculas. La copia debe tener extensión BAK 7

8 Moviendo el apuntador de archivo El método seek mueve el apuntador de archivo a una posición específica. archivo.seek(0) #Regresa al inicio del archivo archivo.seek(25) #Mueve el apuntador a la posición 25 Puede haber un segundo parámetro, indica a partir de dónde se hace el movimiento: 0 a partir del inicio 1 a partir de la posición actual 2 a partir del fin del archivo Ejercicio Dado el siguiente archivo en Excel, calcule lo que se pide abajo. Genere otro archivo con la matrícula de cada alumno, promedio y un letrero que indique si aprobó o no. Formatear la matrícula (quitar A0), dos decimales en el promedio y separar la información con comas ,79.33,Aprobado 8

Dominion 1. Sezon | Suite... | Animes Tensei shitara Slime Datta Ken 1x12