Cómo leer y escribir archivos de texto en Python

Cómo leer y escribir archivos de texto en Python
Este artículo cubrirá una guía que explica el manejo externo de archivos en Python. El enfoque principal estará en abrir y cerrar el texto y otros archivos de datos no binarios almacenados en un medio de almacenamiento, lo que le permitirá ejecutar varias operaciones en el contenido de los archivos abiertos.

Apertura y cierre de un archivo

Para leer datos de un archivo de texto llamado "datos.txt ", debe usar el método" abierto "que viene con compilaciones oficiales de Python. Verifique el código de muestra a continuación:

f = abre ('datos.txt ',' r ')
F.cerca()

La primera declaración abre los "datos.archivo txt "en el modo" R "(de solo lectura). El método "abierto" acepta un nombre de archivo y el modo para manejar el archivo como argumentos. Además del modo "R", también hay otros modos que se explicarán más adelante. El fragmento de código anterior no ejecuta ninguna operación en el archivo abierto. El método "Cerrar" se utiliza para cerrar el archivo abierto limpiamente para que la memoria pueda liberarse y evitar la corrupción de datos en el archivo abierto que a veces puede suceder si el archivo no está cerrado correctamente.

En lugar de usar el método "Abrir" para manejar la apertura y el cierre de los archivos, puede combinarlo con la palabra clave "con" y usar la instrucción "Con Open".

con datos abiertos ('.txt ',' r ') como f:
aprobar

La principal ventaja de usar una instrucción "con abierto" es que el intérprete cierra automáticamente el archivo abierto de manera segura cuando el bloque de código "con abierto" se analiza por completo. Aunque el recolector de basura en Python cierra automáticamente archivos abiertos después de un tiempo según las reglas preestablecidas, las declaraciones "con abiertos" aseguran que el archivo se cierra limpiamente tan pronto como el bloque de código está terminado para liberar recursos.

Lectura de líneas de un archivo de texto

Para leer el contenido de un archivo, use la muestra de código a continuación:

con datos abiertos ('.txt ',' r ') como f:
datos = F.leer()
Imprimir (datos)

Por ejemplo, si "datos.El archivo TXT "tiene 1-10 números, cada uno en una nueva línea, obtendrá la siguiente salida después de ejecutar el código anterior:

Todo el volcado de datos de los "datos.El archivo txt "se almacena en la variable" datos ". Si desea leer las líneas en una lista, puede usar las siguientes muestras de código:

con datos abiertos ('.txt ',' r ') como f:
datos = F.ReadLines ()
Imprimir (datos) con Open ('Datos.txt ',' r ') como f:
data = list (f)
Imprimir (datos)

Tenga en cuenta que el uso de fragmentos anteriores puede obtener el carácter "\ n" (newline) al final de cada elemento en la lista. Para eliminar estos personajes de NewLine, es posible que deba recorrer la lista. Ambos pueden crear una nueva lista y eliminar los caracteres Newline utilizando el siguiente código:

data_list = []
con datos abiertos ('.txt ',' r ') como f:
Para la línea en F:
lista de datos.agregar (línea.banda())
imprimir (data_list)

Ejecutar el código anterior lo obtendrá después de la salida:

Escribir datos en un archivo abierto

Para escribir datos en un archivo que se abre utilizando la instrucción "Con Open", deberá proporcionar un modo de apertura diferente como argumento. Estos son algunos de los modos:

  • 'A': utilizado para agregar datos al final de un archivo abierto, crea un archivo nuevo si no existe
  • 'W': borra el contenido del archivo abierto y escribe nuevos datos, crea un archivo nuevo si no existe
  • 'R' - Modo de solo lectura (modo predeterminado si no se suministra ningún argumento)
  • 'R+': utilizado tanto para la lectura como para la escritura (la posición inicial es al comienzo del archivo)
  • 'B': el archivo se abre en modo binario (útil para archivos binarios que no son de texto), se pueden combinar con otros modos
  • 'A+': utilizado para leer y agregar, crea un archivo nuevo si no existe
  • 'W+': utilizado para leer y escribir, crea un archivo nuevo si no existe

Algunos fragmentos de código que usan diferentes modos para escribir datos se enumeran a continuación.

Para escribir contenido nuevo en un archivo de texto al borrar los datos existentes, use la siguiente muestra:

con datos abiertos ('.txt ',' w ') como f:
F.escribir ("1 \ n2")

Después de ejecutar el fragmento anterior, 1-10 números en los "datos.El archivo txt "debe ser reemplazado por dos nuevas líneas.

Para agregar líneas al comienzo de un archivo de texto, debe usar el método "buscar" para volver a la posición inicial del búfer de archivo:

con datos abiertos ('.txt ',' r+') como f:
datos = F.leer()
F.buscar (0)
F.escribir ("-1 \ n0 \ n")
F.escribir (datos)

Después de ejecutar el fragmento anterior, se agregarán números -1 y 0 a las dos líneas superiores en "Datos.archivos de txt ".

Para agregar datos al final del archivo, use la siguiente muestra:

con datos abiertos ('.txt ',' a ') como f:
F.escribir ("11 \ n12")

Después de ejecutar el fragmento anterior, se agregarán 11 y 12 números al final del archivo.

Conclusión

Las clases y métodos incorporados en Python proporcionan una forma robusta de manejar archivos de texto. Con solo unas pocas líneas de código, puede manipular los datos existentes en un archivo, así como insertar nuevas líneas.