17
www.unaj.edu.ar Lenguaje Python Entrada – Salida

Clase archivos

Embed Size (px)

Citation preview

Page 1: Clase   archivos

www.unaj.edu.ar

Lenguaje Python

Entrada – Salida

Page 2: Clase   archivos

www.unaj.edu.ar

Entrada-Salida

Existen funciones predefinidas.

Implementados usando la librería stdio de C.

Si las operaciones fallan, se levanta una excepción IOError.

Los archivos se manejan como objetos que se crean usando la función open().

open(nombre, modo, buffer)

Opcionales

Page 3: Clase   archivos

www.unaj.edu.ar

Entrada-Salida – open()

open(nombre, modo, buffer)

Forma de apertura:“r”: lectura“w”: escritura“a”: appendOpcionalmente: “+” y “b”

Tamaño del buffer:0: NO buffer1: de una línea>1: el tamaño “aprox”<0:se usa el default del sistema

Nombre del archivo

Importante!!! archivos binarios vs textoModo “u” “U”

Page 4: Clase   archivos

www.unaj.edu.ar

Entrada-Salida – Lectura y escritura

read(cantidadBytes) Si cantidadBytes es <0 o no

está, lee hasta fin de archivo Retorna “” si EOF

write(cadena)

Métodos read() y write()

Ejemplo:

>>> f = open('archivo.txt', 'w')>>> f.write('Hola, ')>>> f.write('Mundo!')>>> f.close()....>>> f = open('archivo.txt', 'r')>>> f.read(4)'Hola'>>> f.read()', Mundo!'

f.close: cierra el archivo

Page 5: Clase   archivos

www.unaj.edu.ar

Entrada-Salida – Lectura y escritura

writelines(lista)

Método writelines()

No agrega por defecto el fin de línea

Page 6: Clase   archivos

www.unaj.edu.ar

Entrada-Salida – Lectura y escritura

Métodos readlines() y readline()

Ejemplo:

readline(): lee una líneareadlines(): retorna una lista con las líneas

Page 7: Clase   archivos

www.unaj.edu.ar

Entrada-Salida – Lectura y escritura

Alternativa a readlines()

Page 8: Clase   archivos

www.unaj.edu.ar

Entrada-Salida – Lectura y escritura

Métodos read() y readlines()

Page 9: Clase   archivos

www.unaj.edu.ar

Entrada-Salida – Módulo pickle

Serializar y des-serializar objetos

cpickle: re-implementación en C más eficiente. El formato de datos que utiliza pickle es específico de Python. Funciones comunes: load() y dump(). loads y dumps: trabaja con una cadena en vez de un archivo.

Page 10: Clase   archivos

www.unaj.edu.ar

Entrada-Salida – Módulo pickle

Page 11: Clase   archivos

www.unaj.edu.ar

Entrada-Salida – Acceso aleatorio

seek(desplazamiento, desdeDonde)

Cantidad de bytes a desplazar

0: desde el comienzo1: desde la posición actual2: desde el final

Si el valor desdeDonde no está, se asume 0

Page 12: Clase   archivos

www.unaj.edu.ar

Entrada-Salida – Acceso aleatorio

tell(): retorna la posición actual

Page 13: Clase   archivos

www.unaj.edu.ar

File System - Módulo OS

Funciones para: Procesamiento de archivos Directorios Permisos

Manejo de Archivos – Algunas funcionesrename() -remove()

Ejemplo:import osos.rename('archi1','archi2')os.remove('archi1')

Page 14: Clase   archivos

www.unaj.edu.ar

File System - Módulo OS

Manejo de Directorios:listdir()- mkdir() -chdir() - getcwd() - rmdir()

Ejemplo:

Page 15: Clase   archivos

www.unaj.edu.ar

File System - Módulo OS

Manejo de Permisos:chmod()- access() - …

Ejemplo:

Más info: http://docs.python.org/library/os.html#module-os

Page 16: Clase   archivos

www.unaj.edu.ar

File System - Módulo os.path

Manejo de Rutas: basename()- dirname()-join()-split()

Ejemplo:

Page 17: Clase   archivos

www.unaj.edu.ar

File System - Módulo os.path

Otras Funciones útiles exists() - isdir() - isfile()

Ejemplo: