¿Cómo abrir un archivo para leer y escribir?

¿Hay una manera de abrir un archivo para leer y escribir?

Como solución alternativa, abro el archivo para escribirlo, lo cierro y lo vuelvo a abrir para leerlo. ¿Pero hay una manera de abrir un archivo para leer y escribir?

A continuación, le mostramos cómo leer un archivo y luego escribirlo (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() 

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 un pequeño envoltorio 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): para leer el contenido de un archivo, llame a f.read (tamaño), que lee cierta cantidad de datos y los devuelve como una cadena.

Y:

f.write (cadena) escribe el contenido de la cadena en el archivo, devolviendo Ninguno.

Además, si abre el tutorial de Python sobre lectura y escritura de archivos , encontrará que:

‘r +’ abre el archivo para leer y escribir.

En Windows, ‘b’ añadido al modo abre el archivo en modo binario, por lo que también hay modos como ‘rb’, ‘wb’ y ‘r + b’.