python file handling tutorial
Una mirada intensiva a las operaciones de manejo de archivos de Python con ejemplos prácticos:
En la serie de Tutorial de Python para principiantes , aprendimos más sobre Funciones de cadena de Python en nuestro último tutorial.
Python nos proporciona una característica importante para leer datos del archivo y escribir datos en un archivo.
En general, en los lenguajes de programación, todos los valores o datos se almacenan en algunas variables que son de naturaleza volátil.
Porque los datos se almacenarán en esas variables solo durante el tiempo de ejecución y se perderán una vez que se complete la ejecución del programa. Por lo tanto, es mejor guardar estos datos de forma permanente mediante archivos.
Lo que vas a aprender:
- ¿Cómo maneja Python los archivos?
- Tipos de archivo en Python
- Operaciones de manejo de archivos de Python
- Codificación en archivos
- Escribir y leer datos de un archivo binario
- Atributos de E / S de archivo
- Métodos de archivo Python
- Resumen
- Lectura recomendada
Cómo Python maneja los archivos ?
Si está trabajando en una aplicación de software grande donde procesan una gran cantidad de datos, entonces no podemos esperar que esos datos se almacenen en una variable ya que las variables son de naturaleza volátil.
Por lo tanto, cuando esté a punto de manejar tales situaciones, el papel de los archivos entrará en escena.
Como los archivos son de naturaleza no volátil, los datos se almacenarán permanentemente en un dispositivo secundario como el disco duro y usando Python manejaremos estos archivos en nuestras aplicaciones.
¿Estás pensando en cómo Python manejará los archivos?
Tomemos un Ejemplo de cómo la gente normal manejará los archivos. Si queremos leer los datos de un archivo o escribir los datos en un archivo, entonces, en primer lugar, abriremos el archivo o crearemos un nuevo archivo si el archivo no existe y luego realizaremos las operaciones normales de lectura / escritura. , guarde el archivo y ciérrelo.
De manera similar, hacemos las mismas operaciones en Python usando algunos métodos o funciones incorporados.
Tipos de archivo en Python
Hay dos tipos de archivos en Python y cada uno de ellos se explica a continuación en detalle con ejemplos para su fácil comprensión.
Son:
- Archivo binario
- Archivo de texto
Archivos binarios en Python
La mayoría de los archivos que vemos en nuestro sistema informático se denominan archivos binarios.
Ejemplo:
- Archivos de documentos: .pdf, .doc, .xls, etc.
- Archivos de imagen: .png, .jpg, .gif, .bmp, etc.
- Archivos de video: .mp4, .3gp, .mkv, .avi, etc.
- Archivos de sonido: .mp3, .wav, .mka, .aac, etc.
- Archivos de base de datos: .mdb, .accde, .frm, .sqlite, etc.
- Archivos de archivo: .zip, .rar, .iso, .7z, etc.
- Archivos ejecutables: .exe, .dll, .class, etc.
Lectura recomendada = >> Cómo abrir un archivo .7z
Todos los archivos binarios siguen un formato específico. Podemos abrir algunos archivos binarios en el editor de texto normal, pero no podemos leer el contenido presente dentro del archivo. Esto se debe a que todos los archivos binarios se codificarán en formato binario, que solo puede ser entendido por una computadora o máquina.
Para manejar dichos archivos binarios, necesitamos un tipo específico de software para abrirlo.
Por ejemplo, Necesita el software Microsoft Word para abrir archivos binarios .doc. Del mismo modo, necesita un software de lectura de pdf para abrir archivos binarios .pdf y necesita un software de edición de fotos para leer los archivos de imagen, etc.
Archivos de texto en Python
Los archivos de texto no tienen ninguna codificación específica y se pueden abrir en el editor de texto normal.
Ejemplo:
- Estándares web: html, XML, CSS, JSON, etc.
- Código fuente: c, aplicación, js, py, java, etc.
- Documentos: txt, tex, RTF, etc.
- Datos tabulados: csv, tsv, etc.
- Configuración: ini, cfg, reg, etc.
En este tutorial, veremos cómo manejar tanto texto como archivos binarios con algunos ejemplos clásicos.
Operaciones de manejo de archivos de Python
Lo más importante es que hay 4 tipos de operaciones que Python puede manejar en archivos:
- Abierto
- Leer
- Escribir
- Cerrar
Otras operaciones incluyen:
- Rebautizar
- Borrar
Python crea y abre un archivo
Python tiene una función incorporada llamada open () para abrir un archivo.
Se necesita un mínimo de un argumento como se menciona en la siguiente sintaxis. El método abierto devuelve un objeto de archivo que se utiliza para acceder a los métodos de escritura, lectura y otros incorporados.
Sintaxis:
|_+_|Aquí, file_name es el nombre del archivo o la ubicación del archivo que desea abrir, y file_name también debe tener la extensión del archivo incluida. Lo que significa en test.txt - el término prueba es el nombre del archivo y .txt es la extensión del archivo.
El modo en la sintaxis de la función abierta le dirá a Python qué operación desea hacer en un archivo.
- 'R' - Modo de lectura: El modo de lectura se usa solo para leer datos del archivo.
- 'W' - Modo de escritura: Este modo se utiliza cuando desea escribir datos en el archivo o modificarlo. Recuerde que el modo de escritura sobrescribe los datos presentes en el archivo.
- 'A' - Modo anexar: El modo de anexar se usa para agregar datos al archivo. Recuerde que los datos se agregarán al final del puntero del archivo.
- 'R +' - Modo de lectura o escritura: Este modo se usa cuando queremos escribir o leer los datos del mismo archivo.
- 'A +' - Modo de lectura o anexar: Este modo se usa cuando queremos leer datos del archivo o agregar los datos al mismo archivo.
Nota: Los modos mencionados anteriormente son solo para abrir, leer o escribir archivos de texto.
Mientras usamos archivos binarios, tenemos que usar los mismos modos con la letra ‘b’ al final. Para que Python pueda entender que estamos interactuando con archivos binarios.
- 'Wb' - Abra un archivo para el modo de solo escritura en formato binario.
- 'Rb' - Abra un archivo para el modo de solo lectura en formato binario.
- 'Desde' - Abra un archivo para agregar solo el modo en formato binario.
- 'Rb +' - Abra un archivo para el modo de solo lectura y escritura en formato binario.
- 'De +' - Abra un archivo para agregar y en modo de solo lectura en formato binario.
Ejemplo 1:
|_+_|En el ejemplo anterior, estamos abriendo el archivo llamado 'test.txt' presente en la ubicación 'C: / Documents / Python /' y estamos abriendo el mismo archivo en un modo de lectura-escritura, lo que nos da más flexibilidad.
Ejemplo 2:
|_+_|En el ejemplo anterior, estamos abriendo el archivo llamado 'img.bmp' presente en la ubicación 'C: / Documents / Python /', pero aquí estamos tratando de abrir el archivo binario.
Python leer desde archivo
Para leer un archivo en Python, debemos abrir el archivo en modo lectura.
Hay tres formas en las que podemos leer los archivos en Python.
- leer ((n))
- readline ((n))
- readlines ()
Aquí, n es el número de bytes que se leerán.
Primero, creemos un archivo de texto de muestra como se muestra a continuación.
Ahora observemos lo que hace cada método de lectura:
Ejemplo 1:
|_+_|Producción:
Hola
Aquí estamos abriendo el archivo test.txt en modo de solo lectura y estamos leyendo solo los primeros 5 caracteres del archivo usando el método my_file.read (5).
Producción:
Ejemplo 2:
cómo probar el sitio web en diferentes navegadores|_+_|
Producción:
Hola Mundo
Hola Python
Buenos días
Aquí no hemos proporcionado ningún argumento dentro de la función read (). Por lo tanto, leerá todo el contenido presente dentro del archivo.
Producción:
Ejemplo 3:
|_+_|Producción:
Él
Esta función devuelve los primeros 2 caracteres de la siguiente línea.
Producción:
Ejemplo 4:
|_+_|Producción:
Hola Mundo
Con esta función podemos leer el contenido del archivo línea por línea.
Producción:
Ejemplo 5:
|_+_|Producción:
(‘Hola mundo n’, ‘Hola Python n’, ‘Buenos días’)
Aquí estamos leyendo todas las líneas presentes dentro del archivo de texto, incluidos los caracteres de nueva línea.
Producción:
Ahora veamos algunos ejemplos más prácticos de cómo leer un archivo.
Leer una línea específica de un archivo
|_+_|Producción:
Cómo estás
En el ejemplo anterior, intentamos leer solo los 4thlínea del archivo 'test.txt' con un 'en bucle' .
Producción:
Leer todo el archivo a la vez
|_+_|Producción:
Hola Mundo
Hola Python
Buenos días
Cómo estás
Producción:
Python escribir en archivo
Para escribir datos en un archivo, debemos abrir el archivo en modo de escritura.
Debemos tener mucho cuidado al escribir datos en el archivo, ya que sobrescribe el contenido presente dentro del archivo que está escribiendo, y todos los datos anteriores se borrarán.
Tenemos dos métodos para escribir datos en un archivo como se muestra a continuación.
- escribir (cadena)
- writeelines (lista)
Ejemplo 1:
|_+_|El código anterior escribe la cadena 'Hello World' en el archivo 'test.txt'.
Antes de escribir datos en un archivo test.txt:
Producción:
Ejemplo 2:
|_+_|La primera línea será 'Hola mundo' y como hemos mencionado n carácter, el cursor se moverá a la siguiente línea del archivo y luego escribirá 'Hola Python'.
cómo abrir un archivo apk en android
Recuerde que si no mencionamos el carácter n, los datos se escribirán continuamente en el archivo de texto como 'Hola mundoHelloPython'
Producción:
Ejemplo 3:
|_+_|El código anterior escribe un lista de datos en el archivo 'test.txt' simultáneamente.
Producción:
Python anexar al archivo
Para agregar datos a un archivo, debemos abrir el archivo en modo 'a +' para que tengamos acceso tanto al modo de agregar como al de escritura.
Ejemplo 1:
|_+_|El código anterior agrega la cadena 'Apple' en el fin del archivo 'test.txt'.
Producción:
Ejemplo 2:
|_+_|El código anterior agrega la cadena 'Apple' al final del archivo 'test.txt' en una nueva línea .
Producción:
Ejemplo 3:
|_+_|El código anterior agrega una lista de datos en un archivo 'test.txt'.
Producción:
Ejemplo 4:
|_+_|En el código anterior, agregamos la lista de datos al archivo 'test.txt'. Aquí, puede observar que hemos usado el método tell () que imprime donde está actualmente el cursor.
buscar (desplazamiento): El desplazamiento toma tres tipos de argumentos, a saber, 0,1 y 2.
Cuando el desplazamiento es 0: La referencia se señalará al principio del archivo.
Cuando el desplazamiento es 1: La referencia apuntará a la posición actual del cursor.
Cuando el desplazamiento es 2: La referencia se señalará al final del archivo.
Producción:
Cerrar archivo de Python
Para cerrar un archivo, primero debemos abrir el archivo. En Python, tenemos un método incorporado llamado close () para cerrar el archivo que se abre.
Siempre que abra un archivo, es importante cerrarlo, especialmente, con el método de escritura. Porque si no llamamos a la función de cierre después del método de escritura, los datos que hayamos escrito en un archivo no se guardarán en el archivo.
Ejemplo 1:
|_+_|Ejemplo 2:
|_+_|Python Renombrar o Eliminar archivo
Python nos proporciona un módulo 'os' que tiene algunos métodos incorporados que nos ayudarían a realizar las operaciones del archivo, como cambiar el nombre y eliminar el archivo.
Para usar este módulo, primero que nada, necesitamos importar el módulo 'os' en nuestro programa y luego llamar a los métodos relacionados.
método rename ():
Este método rename () acepta dos argumentos, es decir, el nombre del archivo actual y el nombre del nuevo archivo.
Sintaxis:
|_+_|Ejemplo 1:
|_+_|Aquí 'test.txt' es el nombre del archivo actual y 'test1.txt' es el nuevo nombre del archivo.
Puede especificar la ubicación, así como se muestra en el siguiente ejemplo.
Ejemplo 2:
|_+_|
Antes de cambiar el nombre del archivo:
Después de ejecutar el programa anterior
método remove ():
Usamos el método remove () para eliminar el archivo proporcionando el nombre del archivo o la ubicación del archivo que desea eliminar.
Sintaxis:
|_+_|Ejemplo 1:
|_+_|Aquí 'test.txt' es el archivo que desea eliminar.
De manera similar, también podemos pasar la ubicación del archivo a los argumentos como se muestra en el siguiente ejemplo
Ejemplo 2:
|_+_|Codificación en archivos
La codificación de archivos representa la conversión de caracteres a un formato específico que solo una máquina puede entender.
Diferentes máquinas tienen diferentes formatos de codificación como se muestra a continuación.
- Usos del sistema operativo Microsoft Windows 'Cp1252' formato de codificación por defecto.
- Usos del sistema operativo Linux o Unix 'Utf-8' formato de codificación por defecto.
- Usos del sistema operativo MAC de Apple 'Utf-8' o 'utf-16' formato de codificación por defecto.
Veamos la operación de codificación con algunos ejemplos.
Ejemplo 1:
|_+_|Producción:
El formato de codificación de Microsoft Windows por defecto es cp1252.
Aquí, ejecuté mi programa en la máquina con Windows, por lo que imprimió la codificación predeterminada como 'cp1252'.
Producción:
También podemos cambiar el formato de codificación de un archivo pasándolo como argumentos a la función abierta.
Ejemplo 2:
|_+_|Producción:
El formato de codificación de archivos es: cp437
Producción:
Ejemplo 3:
|_+_|Producción:
El formato de codificación de archivos es: utf-16
Producción:
Escribir y leer datos de un archivo binario
Los archivos binarios almacenan datos en formato binario (0 y 1) que es comprensible para la máquina. Entonces, cuando abrimos el archivo binario en nuestra máquina, decodifica los datos y los muestra en un formato legible por humanos.
Ejemplo:
# Creemos un archivo binario.
|_+_|En el ejemplo anterior, primero estamos creando un archivo binario 'Bfile.bin' con el acceso de lectura y escritura y cualquier dato que desee ingresar en el archivo debe estar codificado antes de llamar al método de escritura.
Además, estamos imprimiendo los datos sin decodificarlos, de modo que podemos observar cómo se ven exactamente los datos dentro del archivo cuando están codificados y también estamos imprimiendo los mismos datos decodificándolos para que los humanos puedan leerlos.
Producción:
Datos binarios: b'Hola Python '
Datos normales: Hola Python
Producción:
Atributos de E / S de archivo
Atributo | Descripción |
---|---|
readlines () | Lee y devuelve todas las líneas del archivo. |
Nombre | Devuelve el nombre del archivo |
Modo | Modo de retorno del archivo |
Codificación | Devuelve el formato de codificación del archivo |
Cerrado | Devuelve verdadero si el archivo cerrado, de lo contrario, devuelve falso |
Ejemplo:
|_+_|Producción:
Cual es el nombre del archivo? C: /Documents/Python/test.txt
¿Qué es el modo de archivo? r
¿Cuál es el formato de codificación? cp1252
¿El archivo está cerrado? Falso
¿El archivo está cerrado? Cierto
almacenar objetos en una matriz java
Producción:
Probemos algunos otros métodos del archivo.
Ejemplo:
|_+_|Producción:
Hola Python
Hola Mundo
Buenos días
¿Es legible el archivo? Cierto
¿El archivo se puede escribir? Cierto
Archivo no: 3
Producción:
Métodos de archivo Python
Función | Explicación |
---|---|
abierto() | Para abrir un archivo |
cerrar() | Cerrar un archivo abierto |
fileno () | Devuelve un número entero del archivo. |
leer (n) | Lee 'n' caracteres desde el archivo hasta el final del archivo |
legible() | Devuelve verdadero si el archivo es legible |
readline () | Leer y devolver una línea del archivo |
buscar (compensar) | Cambiar la posición del cursor en bytes según lo especificado por el desplazamiento |
buscable () | Devuelve verdadero si el archivo admite acceso aleatorio |
contar() | Devuelve la ubicación actual del archivo |
escribible () | Devuelve verdadero si se puede escribir en el archivo |
escribir() | Escribe una cadena de datos en el archivo. |
writeelines () | Escribe una lista de datos en el archivo. |
Veamos lo que hemos discutido hasta ahora en un programa final.
Ejemplo:
|_+_|Producción:
Cual es el nombre del archivo? C: /Documents/Python/test.txt
¿Cuál es el modo del archivo? w +
¿Cuál es el formato de codificación? cp1252
Tamaño del archivo: 192
La posición del cursor está en el byte: 36
El contenido del archivo es: Hola Python
Buenos días
Adiós
Los datos presentes en la línea actual son: Good Bye
Los datos binarios son: b ' xff xfe x00 x00G x00 x00 x00o x00 x00 x00o x00 x00 x00d x00 x00 x00 x00 x00 x00B x00 x00 x00y x00 x00 x00e x00 x00 x00 ′
Los datos normales son: adiós
Producción:
Resumen
A continuación se enumeran algunos consejos que se pueden resumir del tutorial anterior:
- Por lo general, usamos un archivo para almacenar datos de forma permanente en el almacenamiento secundario, ya que es de naturaleza no volátil, por lo que los datos se pueden usar en el futuro.
- A veces, en algunas aplicaciones, es posible que deseemos leer los datos de un archivo de texto o archivo binario, para que podamos lograrlo utilizando las funciones integradas en Python como abrir, leer, escribir métodos, etc.
- Debe tener mucho cuidado al utilizar el método de escritura porque los datos que escriba en el archivo se sobrescribirán y los datos antiguos se perderán.
- Para evitar que se sobrescriban los datos, es mejor abrir un archivo en modo de escritura y anexar para que los datos se agreguen al final del archivo.
- Recuerde, cuando abre un archivo en modo binario, no acepta el parámetro de codificación.
- Puede realizar el cambio de nombre y la eliminación de un archivo utilizando los métodos de cambio de nombre y eliminación del módulo / paquete 'os'.
Esperamos que haya disfrutado de este tutorial informativo sobre el manejo de archivos de Python. Nuestro próximo tutorial explicará más sobre la función principal de Python.
PREV Tutorial | SIGUIENTE Tutorial
Lectura recomendada
- Entrada-Salida y Archivos en Python (Python Abrir, Leer y Escribir en Archivo)
- Tutorial de Python DateTime con ejemplos
- Tutorial de Python para principiantes (entrenamiento práctico de Python GRATIS)
- Tutoriales detallados de Eclipse para principiantes
- Funciones de cadena de Python
- Tutorial de división de cadenas de Python
- Variables de Python
- Objetos de archivo VBScript: CopyFile, DeleteFile, OpenTextFile, Leer y escribir archivo de texto