¿Hay alguna forma de abrir un archivo para leer y escribir? Pensé que "r +" era por eso.
Como estoy trabajando en archivos binarios, probé el modo "r + b", pero me sale un error que indica que el archivo no está abierto para leer.¿archivo abierto para leer y escribir?
Respuesta
r+
es el modo canónico para leer y escribir al mismo tiempo. Esto no es diferente de usar la llamada al sistema fopen()
ya que file()
/open()
es solo una pequeña envoltura alrededor de esta llamada al sistema operativo.
he intentado algo como esto y funciona como se esperaba:
f = open("c:\\log.log", 'r+b')
f.write("\x5F\x9D\x3E")
f.read(100)
f.close()
Dónde:
f.read (tamaño) - leer el contenido de un archivo, llamado f.read (tamaño), que lee cierta cantidad de datos y la devuelve como una cadena.
Y:
f.write (cadena) escribe el contenido de cadena al archivo, volviendo Ninguno.
también si abre Python tutorial about reading and writing files se encuentra que:
'r +' abre el archivo para la lectura y la escritura.
En Windows, 'b' agregado al modo abre el archivo en modo binario, así que también hay modos como 'rb', 'wb' y 'r + b'.
También leer y escribir funciona igualmente bien con el modo 'r + b', pero tiene que usar f.seek (0) entre f.read() y f.write() para colocar el cursor de nuevo al comienzo del archivo . – gaborous
Tenga en cuenta que si los datos que está escribiendo no son más largos que los datos que ya están allí, no se truncarán. Use el método 'truncado' para detener esto. – Flimm
Así es como se lee un archivo y escribir en él (sobrescribir los datos existentes), sin cerrar y volver a abrir:
with open(filename, "r+") as f:
data = f.read()
f.seek(0)
f.write(output)
f.truncate()
use 'a +' para cubrir el caso final de que el archivo no existe (se creará) –
seek() y truncate() son críticos! – smwikipedia
Tenga en cuenta que esto no funciona para agregar texto. – multigoodverse
- 1. JAVA: leer y escribir un archivo juntos
- 2. phonegap leer y escribir el archivo json
- 3. Abrir archivo para leer y escribir (no anexar) en perl
- 4. Java FileLock para leer y escribir
- 5. Archivo de Python Leer + Escribir
- 6. Escribir/Leer archivo plist iPhone
- 7. Cómo leer un archivo abierto en Ruby
- 8. Bloquear tabla para leer y escribir
- 9. Socket leer y escribir simultáneamente
- 10. Cómo leer y escribir en un archivo usando JavaScript
- 11. ¿Cómo escribir y leer un archivo con un HashMap?
- 12. Leer del archivo, borrarlo, escribir en él
- 13. escribir y leer desde un archivo temporal LaTeX?
- 14. escribir y leer un archivo con codificación UTF-8
- 15. Leer y escribir en el mismo archivo con proceso diferente
- 16. ¿Cómo leer y escribir un HashMap en un archivo?
- 17. Mejores prácticas para escribir código abierto Java
- 18. ¿Cómo leer y escribir varios archivos?
- 19. ¿Cómo puedo leer y escribir un archivo en Malbolge?
- 20. Cómo leer y escribir un archivo en C#
- 21. Leer y escribir bytes desde un archivo (C++)
- 22. Leer y escribir en un archivo mientras mantiene el bloqueo
- 23. Leer, modificar, escribir archivo xml en cocoa
- 24. Java - leer, manipular y escribir archivos WAV
- 25. Leer y escribir archivos binarios en VBScript
- 26. ¿Cómo leer y escribir archivos xml?
- 27. PHP leer y escribir archivos de JSON
- 28. ¿Cómo leer y escribir etiquetas Android NFC?
- 29. Cómo leer el archivo abierto de Excel en C#
- 30. Leer y escribir cookies en Symfony2
el problema que está resolviendo? tal vez haya una solución mejor que escribir/leer un archivo, p. 'mmap' –
¿Podría darnos su código para que podamos contestarle? También puede intentar echar un vistazo: http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files. Sin embargo, he intentado usar r + b y funciona. ¿También hay algún beneficio para usar un descriptor de archivo en las funciones de diff? –