Cómo leer y escribir archivos en Python

Cuando está programando en el lenguaje Python más allá de los programas más triviales, normalmente se le pedirá que lea y escriba datos en archivos que existen fuera del programa en sí. Python proporciona mecanismos sencillos para acceder a archivos específicos y modificarlos mediante funciones estándar que forman parte del lenguaje principal.

Abrir archivos en Python

Paso 1

Decidir sobre la política de uso. Debe saber si necesita leer o escribir en el archivo antes de poder abrirlo. Solo abra el archivo con los permisos que realmente necesita y no abra un archivo en modo de lectura y escritura cuando solo necesita leerlo. Esto evitará escrituras accidentales en un archivo en el que no debería estar escribiendo.

Paso 2

Decida si desea utilizar el modo ASCII o binario. Si está leyendo texto, querrá usar el modo ASCII. Si está leyendo datos binarios, use el modo binario. Este modo traducirá los finales de línea al modo que usa su sistema operativo.

Paso 3

Cree la cadena de modo. El primer carácter es el modo de lectura o escritura. Si desea abrir en modo binario, agregue una "b" al final de la cadena. Por ejemplo, para leer en modo ASCII, la cadena de modo sería "r" y para escribir en modo binario, la cadena de modo sería "wb".

Paso 4

Abra el archivo usando la función abrir. Almacene el objeto de archivo resultante en una variable. Por ejemplo:

f =abrir("/nombre de archivo/va/aquí", "r")

Leer desde archivos en Python

Paso 1

Iterar sobre todas las líneas. Un objeto de archivo se puede utilizar como una colección con el bucle "for". Puede iterar sobre todas las líneas de un archivo (una acción común) con la instrucción for.

para línea en f:línea de impresión

Paso 2

Buscar en un punto determinado del archivo. Los archivos no siempre se leen secuencialmente, por lo que a menudo es necesario buscar un punto determinado en el archivo antes de leerlo. Puede hacer esto con el método de búsqueda de un objeto de archivo.

Buscar el byte número 100 f.seek(100)

Buscar a 10 bytes del byte actual f.seek(10, 1)

Paso 3

Leer datos binarios de un archivo. Con el método de lectura de un objeto de archivo, puede leer un número arbitrario de bytes de un archivo.

Leer 16 bytes del archivo buf =f.read(16)

Escribir en archivos de Python

Paso 1

Escribir datos en un archivo. Si un archivo se abre en modo de escritura, puede escribirle datos ASCII o binarios. Esto se hace con el método de escritura de un objeto de archivo.

f.write("Esto es algo de texto")

Paso 2

Escribir objetos en un archivo. Si necesita guardar el estado interno de un objeto, puede "decaparlo". Para decapar un objeto, primero debe importar el módulo de decapado. Después de eso, puede decapar casi cualquier objeto con la función pickle.dump.

importar pickle pickle.dump(cualquier_objeto,f)

Paso 3

Cierra el archivo. Una vez completada la escritura, debe cerrar el archivo. Esto garantiza que se vacíen todos los búferes y que el archivo no esté bloqueado para que otros programas puedan acceder a él. Esto se hace con el método close de un objeto de archivo.

f.cerrar()