Diferencia entre revisiones de «Usuario:Lmorillas/modulo programacion/python/intro ficheros»
De WikiEducator
(Página creada con '==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 '''…') |
|||
(8 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
+ | {{DISPLAYTITLE:Introducción al uso de ficheros}} | ||
+ | |||
==Ficheros== | ==Ficheros== | ||
http://docs.python.org.ar/tutorial/inputoutput.html#leyendo-y-escribiendo-archivos | http://docs.python.org.ar/tutorial/inputoutput.html#leyendo-y-escribiendo-archivos | ||
Línea 11: | Línea 13: | ||
* '''+''': lectura y escritura | * '''+''': lectura y escritura | ||
* '''U''': universal newline | * '''U''': universal newline | ||
+ | |||
+ | === Ficheros con un codec === | ||
+ | <source lang="python"> | ||
+ | import codecs | ||
+ | |||
+ | f = codecs.open('fichero.txt', 'rU', 'utf-8') | ||
+ | for line in f: | ||
+ | # linea como *unicode* string | ||
+ | </source> | ||
+ | |||
=== Ejemplos de uso === | === Ejemplos de uso === | ||
<source lang="python"> | <source lang="python"> | ||
Línea 28: | Línea 40: | ||
with open('texto.txt', 'w') as f: | with open('texto.txt', 'w') as f: | ||
f.write('texto a escribir') | f.write('texto a escribir') | ||
+ | </source> | ||
+ | |||
+ | f.seek(0) # rebobina el fichero | ||
+ | f.seek(0, 2) # coloca lectura/escritura al final | ||
+ | |||
+ | |||
+ | {{Actividad| | ||
+ | Title=Ejercicios| | ||
+ | TOCdepth=2| | ||
+ | # 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 | temperaturas]] de Zaragoza | ||
+ | }} | ||
+ | |||
+ | == Ayudas sistema de archivos == | ||
+ | <source lang="python"> | ||
+ | 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 | ||
</source> | </source> |
Última revisión de 19:49 25 nov 2011
Contenido
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
|
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