Red de conocimiento informático - Material del sitio web - Cómo abrir y cerrar archivos usando Python

Cómo abrir y cerrar archivos usando Python

Abrir y cerrar archivos

Ahora está listo para leer y escribir entradas y salidas estándar. Ahora, veamos cómo leer y escribir los archivos de datos reales.

Python proporciona de forma predeterminada las funciones y métodos necesarios para las operaciones básicas con archivos. Puede utilizar el objeto "archivo?" para la mayoría de las operaciones con archivos.

Función Abrir

Primero debe usar la función open() incorporada de Python para abrir el archivo. Esta función creará un objeto de archivo y luego los métodos relacionados podrán llamarlo. leer o escribir. Importar el archivo.

Sintaxis:

objeto de archivo = open(nombre_archivo [, modo_acceso][, almacenamiento en búfer])

Los detalles de cada parámetro son los siguientes:

file_name: La variable file_name es un archivo y contiene el valor de cadena del archivo al que se accederá.

access_mode: access_mode determina el modo en el que se abre el archivo: solo lectura, escritura, anexar, etc. Consulte a continuación para obtener una lista completa de todos los valores disponibles. Este parámetro es opcional y el modo de acceso a archivos predeterminado es de solo lectura (r).

Almacenamiento en búfer: si el valor del almacenamiento en búfer se establece en 0, no se alojará. Si el valor almacenado en el búfer se establece en 1, las filas se administran cuando se accede al archivo. Si el valor almacenado en el búfer se establece en un número entero mayor que 1, significa que este es el tamaño del búfer del registro. Si toma un valor negativo, el tamaño del búfer de registro es el valor predeterminado del sistema.

Lista completa de diferentes modos para abrir archivos:

Modo

Descripción

r Abre el archivo en modo de solo lectura. El puntero del archivo se colocará al principio del archivo. Este es el modo predeterminado.

rb Abre un archivo en formato binario en modo de solo lectura. El puntero del archivo se colocará al principio del archivo. Este es el modo predeterminado.

r+ abre el archivo en formato binario para lectura y escritura. El puntero del archivo se colocará al principio del archivo.

rb+ abre archivos en formato binario para lectura y escritura. El puntero del archivo se colocará al principio del archivo.

w Abre un archivo para escritura únicamente. Si el archivo ya existe, se sobrescribe. Si el archivo no existe, se crea un archivo nuevo.

wb abre un archivo en formato binario, solo para escritura. Si el archivo ya existe, se sobrescribe. Si el archivo no existe, se crea un archivo nuevo.

w+ abre un archivo para lectura y escritura. Si el archivo ya existe, se sobrescribe. Si el archivo no existe, se crea un archivo nuevo.

wb+ abre un archivo en formato binario para lectura y escritura. Si el archivo ya existe, se sobrescribe. Si el archivo no existe, se crea un archivo nuevo.

a Abre un archivo para agregarlo. Si el archivo ya existe, el puntero del archivo se colocará al final del archivo. Es decir, el contenido nuevo se escribirá después del contenido existente. Si el archivo no existe, se crea un nuevo archivo para escribir.

ab abre un archivo en formato binario para agregarlo. Si el archivo ya existe, el puntero del archivo se colocará al final del archivo. Es decir, el contenido nuevo se escribirá después del contenido existente. Si el archivo no existe, se crea un nuevo archivo para escribir.

a+ abre un archivo para lectura y escritura. Si el archivo ya existe, el puntero del archivo se colocará al final del archivo. El archivo se abre en modo agregar. Si el archivo no existe, se crea un nuevo archivo para lectura y escritura.

ab+ abre el archivo en formato binario para agregarlo. Si el archivo ya existe, el puntero del archivo se colocará al final del archivo. Si el archivo no existe, se crea un nuevo archivo para lectura y escritura.

El puntero del archivo está ubicado al principio del archivo + + + +

El puntero del archivo está ubicado al final del archivo + + +

Atributos del objeto de archivo

Abre el archivo, tienes un objeto de archivo y puedes obtener todo tipo de información sobre el archivo.

Todas las propiedades relacionadas con los objetos del archivo se enumeran a continuación:

Propiedades

Descripción

file.close Si el archivo está cerrado, devuelve verdadero; de lo contrario, devuelve falso.

file.mode devuelve el modo de acceso del archivo abierto.

file.name devuelve el nombre del archivo.

file.softspace Devuelve falso si debe haber un espacio después de la impresión; de lo contrario, devuelve verdadero.

Ejemplo a continuación: #! /usr/bin/python# -*- Codificación: UTF-8 -*-

# Abrir archivo fo = open("foo.txt", "wb")print "nombre de archivo:", fo. nameprint "está cerrado:", fo.closedprint "modo de acceso:", fo. modeprint "Está forzado el espacio al final:", fo.softspace

Salida del ejemplo anterior: Nombre de archivo: ?foo. ¿El txt está cerrado:? Modo FalseAccess:? wb Si se debe forzar el espacio al final:? 0

método close()

El método close() del objeto de archivo actualizará el búfer Cualquier información que aún no se haya escrito en el área se elimina y el archivo se cierra para que no se pueda escribir más información en él.

Cuando una referencia a un objeto Archivo se reasigna a otro archivo, Python cierra el archivo anterior. Es una buena práctica cerrar un archivo utilizando el método close().

Sintaxis: fileObject.close();

Ejemplo: #! /usr/bin/python# -*- Codificación: UTF-8 -*-

# Abrir archivo fo = open("foo.txt", "wb") print "nombre de archivo:", fo. name

# Cierra el archivo abierto fo.close()

El resultado del ejemplo anterior: Nombre de archivo: ?foo.txt

Lee y escribe el archivo:

El objeto archivo proporciona muchos métodos que nos permiten acceder a los archivos más fácilmente. Eche un vistazo a cómo leer y escribir archivos usando los métodos read() y write().

método write()

El método write() escribe una cadena arbitraria en un archivo abierto. Es importante tener en cuenta que las cadenas de Python pueden ser datos binarios, no solo texto.

El método write() no agrega un carácter de nueva línea ('\n') al final de la cadena:

Sintaxis: fileObject.write(string);

Los parámetros pasados ​​aquí son el contenido que se escribirá en el archivo abierto.

Ejemplo: #! /usr/bin/python# -*- Codificación: UTF-8 -*-

# Abra el archivo fo = open("foo.txt", "wb")fo.write( "www. runoob .com!\n¡Muy buen sitio!\n");

# Cierra el archivo abierto fo.close()

El método anterior crea el archivo foo.txt y recibirá El contenido se escribe en él y finalmente se cierra el archivo. Si abre el archivo, verá lo siguiente: $ cat foo.txt

www.runoob.com!¡Muy buen sitio!

método read()

< El método p>read() lee una cadena de un archivo abierto. Es importante tener en cuenta que las cadenas de Python pueden ser datos binarios, no solo texto.

Sintaxis: fileObject.read([count]);

Aquí, el parámetro pasado es el número de bytes leídos del archivo abierto. Este método comienza a leer desde el principio del archivo y, si no se pasa ningún conteo, leerá tantas veces como pueda, probablemente hasta el final del archivo.

Ejemplo:

Aquí usamos el archivo foo.txt creado anteriormente. #!/usr/bin/python# -*- Codificación: UTF-8 -*-

# Abra el archivo fo = open("foo.txt", "r+")str = fo.read ( 10);print "La cadena leída es:", str# Cierra el archivo abierto fo.close()

Salida del ejemplo anterior: La cadena leída es:?www.rooob

Ubicación del archivo: