En el ejercicio anterior vi todos los métodos (comandos/funciones) para trabajar con ficheros. Ésta es una tabla de métodos importantes…
| MÉTODO | ¿QUÉ HACE? | ABREV |
|---|---|---|
| Close | Cierra el achivo. | |
| Read | Lee el contenido del fichero. Puede asignar el resultado a una variable. | r |
| Readline | Lee sólo una línea del fichero de texto. | |
| Truncate | Vacía el fichero. ¡¡Cuidado!! | |
| Write (cosas) | Escribe cosas en el fichero. Requiere como parámetro la cadena a escribir en el fichero. | w |
| Append | Añade | a |
Voy a usarlos para crear un sencillo editor de texto:
Más adelante volveré sobre ésto. Y ejecuto el programa:
Y ahora viene lo mejor: En la carpeta mystuff «aparece» (como por arte de magia) el fichero que acabo de crear…
ALGUNAS PREGUNTAS
P: ¿Qué significa «w»?
R: Sólo es una cadena con un carácter que se utiliza para indicar el modo de apertura del fichero. Si usa «w», está diciendo «abrir éste fichero en modo escritura (write), de ahí el carácter «w». Ver la tabla del principio: «r» para leer (read), «a» para añadir (append) …
P: ¿Cuáles son los modificadores de los modos apertura de ficheros que podemos usar?
R: El más importante es el modificador +, así puedo escribir ‘w+’, ‘r+’, y ‘a+’. Ésto abrirá el fichero en ambos modos, lectura y escritura, y dependiendo del carácter usado, en una u otra posición del fichero.
P: Escribiendo simplemente open(filename), ¿el fichero lo abre en modo ‘r‘(lectura)?
R: Si. Éste es el modo por defecto de la función open().
P:¿Por qué tengo que pasar ‘w’ como un parámetro extra a open?
R: Es más seguro indicar explícitamente a open que quiero escribir un fichero…pero…mmmm…dudo
P: ¿Es necesario trucate() con el parámetro ‘w’?
R: Ir al EJ.5…
+PRÁCTICAS
- Escribir un código similar al último ejercicio que use read y argv para leer el archivo que he creado.
- En vez de hacer tantas repeticiones, podría usar cadenas con formato y secuencias de escape para mostrar line1, line2 y line3 con sólo un comando target.write() en lugar de seis.
Debe estar conectado para enviar un comentario.