Diferencia entre revisiones de «Usuario:Lmorillas/modulo programacion/python/intro ficheros»

De WikiEducator
Saltar a: navegación, buscar
 
(Una revisión intermedia por el mismo usuario no mostrado)
Línea 52: Línea 52:
 
# 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 '''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
 
# 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 | temperaturas]] de Zaragoza
 
}}
 
}}
  

Última revisión de 19:49 25 nov 2011


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

Icon activity.jpg

Ejercicios

  1. 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.
  2. 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á.
  3. 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
  4. 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.
  5. 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.
  6. 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