misma información, simplemente en forma de tabla
| r r+ w w+ a a+
------------------|--------------------------
read | + + + +
write | + + + + +
write after seek | + + +
create | + + + +
truncate | + +
position at start | + + + +
position at end | + +
donde los significados son: (sólo para evitar cualquier interpretación errónea)
- lectura - leer el archivo está permitido
escribir - escribir en el archivo está permitido
Crear - archivo se crea si no existe todavía
trunctate - durante la apertura del fichero, se hace vacío (todo el contenido del archivo se borra)
posición al comienzo - después de abrir el archivo, la posición inicial se establece en el inicio del archivo
- posición al final - después de abrir el archivo, la posición inicial se establece en el final del archivo
Nota: a
y a+
siempre se agregan al final del archivo: ignora cualquier movimiento seek
.
BTW. comportamiento interesante, al menos en mi win7/python2.7, para el nuevo archivo se abrió en a+
modo:
write('aa'); seek(0, 0); read(1); write('b')
- segundo write
se ignora
write('aa'); seek(0, 0); read(2); write('b')
- segundo write
plantea IOError
El enlace que proporcionó define exactamente los valores. ¿Qué parte del enlace que proporcionó no podría ver o comprender? ¿Podría aclarar su pregunta para explicar lo que no entendió sobre el enlace? –
Tuve la _exact_ misma pregunta que el cartel original, que es lo que me trajo a esta página. Los documentos de Python dejan de lado la explicación crucial de que "abrir el archivo para actualizar" significa "abre el archivo tanto para leer como para escribir", lo que responde a mi pregunta. –
Lo que dijo Chris B. He editado la pregunta para aclararla y hacerla "más real". –