in

Escribir en un archivo en Python

gfg 200x200 min

Python proporciona funciones integradas para crear, escribir y leer archivos. Hay dos tipos de archivos que se pueden manejar en Python, archivos de texto normales y archivos binarios (escritos en lenguaje binario, 0 y 1).

  • Archivos de texto: En este tipo de archivo, cada línea de texto termina con un carácter especial llamado EOL (Fin de línea), que es el carácter de nueva línea (‘ n’) en Python por defecto.
  • Archivos binarios: En este tipo de archivo, no hay un terminador para una línea y los datos se almacenan después de convertirlos en un lenguaje binario comprensible para la máquina.

Nota: Para saber más sobre el manejo de archivos, haga clic aquí.

Tabla de contenidos

Modo de acceso

Los modos de acceso gobiernan el tipo de operaciones posibles en el archivo abierto. Se refiere a cómo se utilizará el archivo una vez que se abra. Estos modos también definen la ubicación del identificador de archivo en el archivo. El identificador de archivo es como un cursor, que define desde dónde se deben leer o escribir los datos en el archivo. Los diferentes modos de acceso para leer un archivo son:

  1. Sólo escribir (‘w’): Abra el archivo para escribir. Para un archivo existente, los datos se truncan y se sobrescriben. El asa se coloca al principio del archivo. Crea el archivo si el archivo no existe.
  2. Escribir y leer (‘w +’): Abra el archivo para leer y escribir. Para un archivo existente, los datos se truncan y se sobrescriben. El asa se coloca al principio del archivo.
  3. Anexar solo (‘a’): Abra el archivo para escribir. El archivo se crea si no existe. El asa se coloca al final del archivo. Los datos que se escriben se insertarán al final, después de los datos existentes.

Nota: Para saber más sobre el modo de acceso, haga clic aquí.

Abrir un archivo

Se hace usando el open() función. No es necesario importar ningún módulo para esta función.

Sintaxis:

File_object = open(r"File_Name", "Access_Mode")

El archivo debe existir en el mismo directorio que el archivo del programa Python; de lo contrario, la dirección completa del archivo debe escribirse en el lugar del nombre del archivo.

Nota: los r se coloca antes del nombre de archivo para evitar que los caracteres de la cadena de nombre de archivo se traten como un carácter especial. Por ejemplo, si hay temp en la dirección del archivo, entonces t se trata como el carácter de tabulación y se genera un error de dirección no válida. La r hace que la cadena sea cruda, es decir, indica que la cadena no tiene caracteres especiales. La r se puede ignorar si el archivo está en el mismo directorio y no se está colocando la dirección.

file1 = open("MyFile.txt", "w"

   

file2 = open(r"D:TextMyFile2.txt", "w+"

Aquí, file1 se crea como objeto para MyFile1 y file2 como objeto para MyFile2.

Cerrar un archivo

close() La función cierra el archivo y libera el espacio de memoria adquirido por ese archivo. Se utiliza en el momento en que el archivo ya no es necesario o si se va a abrir en un modo de archivo diferente.

Sintaxis:

File_object.close()

file1 = open("MyFile.txt", "w"

file1.close() 

Escribiendo en archivo

Hay dos formas de escribir en un archivo.

  1. escribir() : Inserta la cadena str1 en una sola línea en el archivo de texto.
    File_object.write(str1)
    
  2. writeelines (): Para obtener una lista de elementos de cadena, cada cadena se inserta en el archivo de texto. Se utiliza para insertar varias cadenas a la vez.
    File_object.writelines(L) for L = [str1, str2, str3] 
    

Nota: ‘n’ se trata como un carácter especial de dos bytes.

Ejemplo:

 

file1 = open('myfile.txt', 'w')

L = ["This is Delhi n", "This is Paris n", "This is London n"]

s = "Hellon"

 

file1.write(s)

 

file1.writelines(L)

 

file1.close()

 

file1 = open('myfile.txt', 'r')

print(file1.read())

file1.close()

Producción:

Hello
This is Delhi
This is Paris
This is London

Agregar a un archivo

Cuando el archivo se abre en modo anexar, el identificador se coloca al final del archivo. Los datos que se escriben se insertarán al final, después de los datos existentes. Veamos el siguiente ejemplo para aclarar la diferencia entre el modo de escritura y el modo de adición.

file1 = open("myfile.txt", "w")

L = ["This is Delhi n", "This is Paris n", "This is London n"]

file1.writelines(L)

file1.close()

 

file1 = open("myfile.txt", "a"

file1.write("Today n")

file1.close()

 

file1 = open("myfile.txt", "r")

print("Output of Readlines after appending")

print(file1.read())

print()

file1.close()

 

file1 = open("myfile.txt", "w"

file1.write("Tomorrow n")

file1.close()

 

file1 = open("myfile.txt", "r")

print("Output of Readlines after writing")

print(file1.read())

print()

file1.close()

Producción:

Output of Readlines after appending
This is Delhi
This is Paris
This is London
Today


Output of Readlines after writing
Tomorrow

Con declaración

with La declaración en Python se usa en el manejo de excepciones para hacer que el código sea más limpio y mucho más legible. Simplifica la gestión de recursos comunes como flujos de archivos. A diferencia de las implementaciones anteriores, no es necesario llamar file.close() cuando se usa con declaración. los with declaración en sí asegura la adquisición y liberación adecuadas de recursos.

Sintaxis:

with open filename as file:

 

L = ["This is Delhi n", "This is Paris n", "This is London n"]

 

with open("myfile.txt", "w") as file1:

    

    file1.write("Hello n")

    file1.writelines(L)

 

with open("myfile.txt", "r+") as file1:

    

    print(file1.read())

Producción:

Hello
This is Delhi
This is Paris
This is London

Nota: Para saber más sobre la declaración, haga clic aquí.

¡Atención geek! Fortalece tus cimientos con el Fundación de programación de Python Curso y aprende los conceptos básicos.

Para empezar, los preparativos de su entrevista Mejore sus conceptos de estructuras de datos con el Python DS Curso. Y para comenzar con su viaje de aprendizaje automático, únase al Aprendizaje automático – Curso de nivel básico

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

apple touch icon@2

python – ¿Cómo verifico si una lista está vacía?

Cyclone vs Tornado – Diferencia y comparación