Ficheros
http://docs.python.org.ar/tutorial/inputoutput.html#leyendo-y-escribiendo-archivos
Los ficheros en Python son objetos de tipo file creados mediante la función open(<ruta> [, <modo>])
Modos de apertura
- r: read, lectura. Tiene que existir antes.
- w: write, escritura. Si no, existe se crea. Si existe, se sobreescribe el contenido.
- a: append, añadir.
- b: binary, binario.
- +: lectura y escritura
- U: universal newline
Ficheros con un codec
import codecs
f = codecs.open('fichero.txt', 'rU', 'utf-8')
for line in f:
# linea como *unicode* string
Ejemplos de uso
f = open('texto.txt')
for linea in f:
print linea
f.close()
with open('texto.txt') as f:
for linea in f:
print linea
with open('texto.txt', 'w') as f:
f.write('texto a escribir')
f.seek(0) # rebobina el fichero
f.seek(0, 2) # coloca lectura/escritura al final
Ejercicios
Ejercicios
- Escribe un programa lista_de_clase.py que pida nombres de alumnos y los introduzca en un fichero (lista_alumnos.txt. Cada alumno irá en una línea diferente. Una nueva función abrirá la lista de alumnos y la mostrará en pantalla, con los alumnos ordenados por orden alfabético.
- Escribe un programa temporizador.py que cada 5 segundos escriba el tiempo (hora, minuto, segudos) en una línea. El programa creará el fichero si no existe. Cada vez que tenga que escribir, abrirá el archivo, escribirá en él y lo cerrará.
- Escribe un programa troceador.py que pedirá un fichero de una imagen o una canción y la troceará en archivos más pequeños de 521 bytes. El programa irá numerandolos archivos (trozo1, trozo2, etc) Un segundo programa tomará los archivos troceados y recompondrá el archivo original
- Estadística letras. El programa pide la ruta de un fichero de texto. Lo lee y muestra la frecuencia de repetición de las letras, ordenadas de más repetida a menos repetida. Sólo muestra repetición de las letras y no de los signos de puntuación, números, etc. Unifica mayúsculas y minúsculas.
- Pares :: impares. Creamos un fichero de texto con nombres de alumnos (cada uno en una línea). Nuestro programa copia los alumnos en línea par a un archivo pares.txt, y los impares a impares.txt.
- Ejercicio temperaturas de Zaragoza
|
Ayudas sistema de archivos
import os
os.listdir(<ruta>) # devuelve la lista de archivos de una ruta
os.getcwd() # devuelve la ruta actual
os.path.exists(<ruta>) # comprueba si existe una ruta. Devuelve True o False
# explora el módulo os y os.path