Leer y escribir de un fichero es bastante fácil, lo primero que tenemos que hacer es abrir el fichero en el modo que queramos (lectura, escritura, anexar...)
Abrir el archivo
f = open("myfile.txt", "r") # Abrimos el archivo en modo lectura
- La ruta al archivo puede apuntar a una ruta relativa o absoluta
- El fichero puede ser abierto en diferentes modos, aquí menciono los más usados:
r Abrir el archivo en modo lectura
rb Abrir el archivo en modo lectura en formato binario
r+ Abrir el archivo en modo lectura y escritura
w Abrir el archivo en modo escritura, si el archivo existe será sobreescrito
a abrir el archivo en modo anexar. Si el archivo no existe se crea y si el archivo existe el puntero del archivo apunta al final del archivo.
Escribir a un fichero
f = open("myfile.txt", "w") # Abrimos el fichero en modo escritura
f.write("Hello \nWorld!")
f.close()
Leer un fichero
f = open("myfile.txt", "r") # Abrimos el fichero en modo lectura
print(f.read()) # .read() devolverá el contenido del fichero
f.close() # Es buena práctica cerrar el fichero cuando hemos acabado
Output:
Hello
World!
# También podríamos utiliar .readlines() que nos devolvería un array con las líneas del fichero
f = open("myfile.txt", "r") # Abrimos el fichero en modo lectura
print(f.read())
f.close()
Output: ['Hello\n', 'World!']
# También podemos utilizar .read(5) para leer los primeros 5 caracteres
f = open("myfile.txt", "r") # Abrimos el fichero en modo lectura
print(f.read(5))
f.close()
Output: Hello
Append to the file
f = open("myfile.txt", "a") # Abrimos el fichero en modo anexar
# Asumiendo que tenemos un fichero con las líneas 'Hello\n' y 'World!'
f.write("\nExtra line")
f.close()
f = open("myfile.txt", "r")
print(f.readlines())
f.close()
Output: ['Hello\n', 'World!\n', 'Extra line']