Los programas de Python pueden leer la información de archivos, así como escribir datos en archivos. Si bien las variables antiguas simples son una buena manera de almacenar datos mientras se ejecuta un programa, si desea acceder a esos datos después de que el programa haya terminado, debe guardarlos en un archivo. La lectura de archivos le permite trabajar con una amplia gama de información y la escritura en archivos hace posible que los usuarios continúen donde lo dejaron la próxima vez que ejecuten el programa. Puede leer datos de archivos, escribir texto en archivos e incluso almacenar estructuras de Python, como listas, en archivos de datos.
Leer de un archivo
Para leer de un archivo, su programa necesita abrir el archivo y luego leer el contenido del archivo. Puede leer todo el contenido del archivo de una vez o leer el archivo línea por línea. La with
declaración asegura que el archivo se cierre correctamente cuando el programa haya terminado de acceder al archivo.
Leer un archivo completo a la vez
Para empezar, tenemos un archivo de texto en el directorio de nuestro proyecto Python para que podamos trabajar con él. Es solo un archivo simple, creado usando un bloc de notas que tiene un texto básico.
¿Qué es esa with
palabra clave? La with
palabra clave es un administrador de contexto. Es como un atajo para trabajar con archivos, ya que se encarga de abrir y cerrar el archivo automáticamente por usted. Por ejemplo, si necesita utilizar un archivo, deberá abrirlo y recordar cerrarlo una vez que haya terminado de trabajar con él. La with
declaración abierta se encarga de esto por usted.
Dentro del with
contexto, usamos la open()
función para abrir el archivo y devolver el objeto de archivo correspondiente. Si el archivo no se puede abrir, se lanza un error OSError. Usando el objeto de archivo que ahora está disponible para nosotros, podemos usar el read()
método para leer el archivo. Este método devuelve el número especificado de bytes del archivo y el valor predeterminado es lo -1
que significa leer el archivo completo.
Mostrando los atributos y propiedades del archivo
Leer un archivo línea por línea
La otra opción para leer un archivo es hacerlo línea por línea. Así es como se hace.
Esta vez, vemos muchos espacios en blanco adicionales. ¿Porqué es eso? La razón de esto es que cada línea que se lee del archivo tiene un carácter de nueva línea al final de la línea. El uso de la print()
función agrega su propio carácter de nueva línea. Para evitar esto, podemos usar el rstrip()
método que elimina las líneas en blanco adicionales al imprimir en la pantalla.
Modificar la salida durante la iteración
A medida que itera sobre un archivo para generar la salida línea por línea, puede actuar en cada iteración si lo desea. Aquí tenemos un archivo de texto con el siguiente contenido.
Este código iterará a través de cada línea del archivo y reemplazará 'español' con 'mexicano' si lo encuentra.
El código anterior hace uso de un nuevo método que aún no hemos visto, el seek()
método. El método seek () utiliza un puntero para realizar un seguimiento de dónde estamos en el archivo. Tanto la escritura como la lectura mueven el puntero de búsqueda, y si queremos leer el archivo después de escribir o leer el archivo varias veces, debemos volver a poner el puntero de búsqueda en cero. Podemos hacer esto ejecutando el método seek () o cerrando y volviendo a abrir el archivo en nuestro código.
Almacenar las líneas en una lista
En este fragmento de código, podemos ver cómo leer un archivo en una variable de lista. Al imprimirlo, vemos que el contenido del archivo es de hecho una lista. También vemos cómo recorrer la lista para imprimir el contenido del archivo.
Escribir en un archivo
Puede pasar el 'w'
argumento a la open()
función para decirle a Python que desea escribir en un archivo. Esto borrará cualquier cosa en el archivo si ya existe, así que tenga cuidado de no sobrescribir ningún dato que quisiera conservar.
Crear y escribir en un archivo
Escribir varias líneas en un archivo
Agregar a un archivo
Pasar el 'a'
argumento le dice a Python que desea agregar al final de un archivo existente. Note que esta vez, todavía tenemos los datos en el archivo del último ejemplo. Este es el comportamiento de adición en acción.
Rutas de archivo
La open()
función busca el archivo en el mismo directorio donde se almacena el programa que se está ejecutando. Para abrir un archivo desde una subcarpeta, puede utilizar una ruta relativa. También puede utilizar una ruta absoluta si lo desea.
Abrir un archivo de una subcarpeta
Abrir un archivo con una ruta absoluta
Almacenar datos con JSON
Python tiene un módulo JSON que le permite volcar estructuras de datos de Python en un archivo y luego cargar esos datos desde el archivo la próxima vez que se ejecute el programa. JSON es un formato de datos popular que se utiliza en casi todos los lenguajes de programación modernos, por lo que puede compartir este tipo de datos con otros que quizás no estén usando Python. Es importante asegurarse de que los datos que está tratando de cargar existan antes de trabajar con ellos y, si no es así, debe usar el manejo de excepciones para administrarlos.
Usando json.dump () para almacenar datos
Usando json.load () para leer datos
Usando FileNotFoundError para administrar datos
Leer y escribir archivos sin la with
palabra clave
Los ejemplos hasta ahora muestran la lectura, escritura y adición de datos mientras se utiliza la palabra clave with. A continuación se muestran las formas de realizar estas operaciones con archivos sin uso with
.
Abra un archivo para escribir y créelo si no existe
Abra el archivo para agregar texto al final
Escribe algunas líneas de datos en el archivo.
Cierre el archivo cuando termine
Abra la copia de seguridad del archivo y lea el contenido
Compruebe para asegurarse de que el archivo se abrió
use la función read () para leer el archivo completo
readlines () lee las líneas individuales en una lista
Usar archivos temporales con Python
Para usar un archivo temporal en su programa Python, puede importar el módulo temp_file. El código siguiente crea un archivo temporal y lo almacena en la variable temp_file. Luego, podemos almacenar algunos datos en el archivo temporal. En este caso, estamos reservando la fecha del 4 de julio de 2020 para no olvidarnos de ver algunos fuegos artificiales. Tenga en cuenta que tuvimos que usar esa b minúscula. Esto es para convertir la cadena en un objeto de bytes, ya que eso es lo que espera el método write () cuando usa el módulo tempfile. Ahora recuerde que al leer o escribir en un archivo, el puntero de búsqueda se mueve. Es por eso que lo volvemos a establecer en 0 antes de intentar leer el archivo temporal.
Trabajar con el módulo ZipFile
Es fácil crear y trabajar con archivos de archivos en Python. Veamos algunos ejemplos de cómo funciona esto. Trabajaremos con un par de archivos de texto que tenemos en nuestro directorio, boats.txt y characters.txt.
Cree un archivo FileArchive.zip
Agregue dos archivos al archivo y ciérrelo
Enumere el contenido del archivo
['barcos.txt', 'caracteres.txt']
Obtener metadatos de archivos en el archivo.
<Nombre de archivo ZipInfo = 'envío.txt' modo de archivo = '- rw-rw-rw-' tamaño_archivo = 84> <Nombre de archivo ZipInfo = 'characters.txt' filemode = '- rw-rw-rw-' file_size = 59>
<Nombre de archivo ZipInfo = 'envío.txt' modo de archivo = '- rw-rw-rw-' tamaño_archivo = 84>
Leer archivos en el archivo
X-Wing Halcón Milenario Ala en Y Ala B El fantasma Caza estelar Jedi La bola de fuego
Bowser Princesa Peach Sapo Luigi Wario Yoshi Rosalina
Extraiga uno o varios archivos del archivo.
Cómo leer y escribir archivos en Python Resumen
Python proporciona métodos integrados para trabajar con archivos. Puede abrir archivos, escribirles datos, volver a leerlos, etc. Todas las cosas que espera hacer con los archivos se pueden hacer en Python. No es necesario importar una biblioteca para leer y escribir archivos. Usar la función de apertura incorporada de Python para obtener un objeto de archivo es el primer paso para trabajar con archivos. Esto devuelve un objeto de archivo que vimos en varios de los ejemplos de este tutorial. Hay varios métodos y atributos de los objetos de archivo que se pueden utilizar para conocer el archivo que abrió. También se pueden utilizar para manipular el archivo. Entonces, en este tutorial, miramos leer de un archivo, mostrar los atributos y propiedades del archivo, leer un archivo línea por línea, almacenar líneas de un archivo en una lista, escribir en un archivo, escribir varias líneas en un archivo, Almacenar datos con JSON
0 Comentarios