Abrir un archivo en Python

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 (End of Line) , que es el carácter de nueva línea (‘\n’) en Python por defecto. En el caso de CSV (archivos separados por comas), el EOF es una coma de forma predeterminada.
  • Archivos binarios: en este tipo de archivo, no hay un terminador para una línea y los datos se almacenan después de convertirlos a un lenguaje binario comprensible por máquina, es decir, formato 0 y 1.

Consulte los artículos a continuación para tener una idea sobre los conceptos básicos del manejo de archivos.

Abriendo un archivo

Abrir un archivo se refiere a preparar el archivo para leerlo o escribirlo. Esto se puede hacer usando la función open(). Esta función devuelve un objeto de archivo y toma dos argumentos, uno que acepta el nombre del archivo y otro que acepta el modo (Modo de acceso). Ahora, surge la pregunta ¿cuál es el modo de acceso? Los modos de acceso gobiernan el tipo de operaciones posibles en el archivo abierto. Se refiere a cómo se usará 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. Hay 6 modos de acceso en python.

  • Solo lectura (‘r’): abre un archivo de texto para leer. El mango se coloca al principio de la lima. Si el archivo no existe, genera un error de E/S. Este es también el modo predeterminado en el que se abre el archivo.
  • Leer y escribir (‘r+’): abre el archivo para leer y escribir. El mango se coloca al principio de la lima. Genera un error de E/S si el archivo no existe.
  • Solo escritura (‘w’): Abre el archivo para escribir. Para los archivos existentes, los datos se truncan y se sobrescriben. El mango se coloca al principio de la lima. Crea el archivo si el archivo no existe.
  • Escribir y leer (‘w+’): abre el archivo para leer y escribir. Para los archivos existentes, los datos se truncan y se sobrescriben. El mango se coloca al principio de la lima.
  • Solo anexar (‘a’): Abre el archivo para escribirlo. El archivo se crea si no existe. El mango se coloca al final de la lima. Los datos que se están escribiendo se insertarán al final, después de los datos existentes.
  • Agregar y leer (‘a+’): abre el archivo para leer y escribir. El archivo se crea si no existe. El mango se coloca al final de la lima. Los datos que se están escribiendo se insertarán al final, después de los datos existentes.
  • Solo lectura en formato binario (‘rb’):   Permite al usuario abrir el archivo para leerlo en formato binario.
  • Leer y Escribir en Formato Binario(‘rb+’): Permite al usuario abrir el archivo para lectura y escritura en formato binario.
  • Escribir solo en formato binario (‘wb’): permite al usuario abrir el archivo para escribir en formato binario. Cuando se abre un archivo en este modo, hay dos cosas que pueden suceder principalmente. Se crea un nuevo archivo si el archivo no existe. El contenido dentro del archivo se sobrescribirá si el archivo existe y tiene algunos datos almacenados en él. 
  • Escribir y leer en formato binario (‘wb+’):   permite al usuario abrir el archivo para leer y escribir en formato binario. Cuando se abre un archivo en este modo, hay dos cosas que pueden suceder principalmente. Se crea un nuevo archivo para escritura y lectura si el archivo no existe. El contenido dentro del archivo se sobrescribirá si el archivo existe y tiene algunos datos almacenados en él. 
  • Agregar solo en formato binario (‘ab’): permite al usuario abrir el archivo para agregarlo en formato binario. Se crea un nuevo archivo si no hay ningún archivo. Los datos se insertarán al final si el archivo existe y tiene algunos datos almacenados. 
  • Agregar y leer en formato binario (‘ab+’): permite al usuario abrir el archivo para agregarlo y leerlo en formato binario. Se creará un nuevo archivo para leer y agregar si el archivo no existe. Podemos leer y agregar si el archivo existe y tiene algunos datos almacenados.  

Sintaxis:

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

Nota: El archivo debe existir en el mismo directorio que el script de Python; de lo contrario, se debe escribir la dirección completa del archivo. Si el archivo no existe, entonces se genera un error, que el archivo no existe.

open-file-python

Ejemplo #1: Abriendo un archivo en modo lectura en Python. 

Python3

# Python program to demonstrate
# opening a file
 
 
# Open function to open the file "myfile.txt"
# (same directory) in read mode and store
# it's reference in the variable file1
 
file1 = open(& quot
              myfile.txt & quot
              )
 
# Reading from file
print(file1.read())
 
file1.close()

Producción:

Welcome to GeeksForGeeks!!

Nota: En el ejemplo anterior, no hemos proporcionado el modo de acceso. De forma predeterminada, la función open() abrirá el archivo en modo de lectura, si no se proporciona ningún parámetro.

Ejemplo #2: Agregar datos al archivo existente en Python 

Si desea agregar más datos a un archivo ya creado, entonces el modo de acceso debe ser ‘a’, que es el modo de adición, si seleccionamos el modo ‘w’, los nuevos datos sobrescribirán el texto existente.

Python3

# Python program to demonstrate
# opening a file
 
 
# Open function to open the file "myfile.txt"
# (same directory) in append mode and store
# it's reference in the variable file1
file1 = open(" myfile.txt" , & quot; a" )
 
# Writing to file
file1.write(" \nWriting to file:)" )
 
# Closing file
file1.close()

Producción:

python-open-file 

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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