Acordeón de los Índices
Índice de los temas
📂 Open a File on the Server
📂 Para trabajar con archivos en Python, el primer paso es abrir el archivo. Esto se realiza utilizando la función incorporada open()
. La función open()
devuelve un objeto archivo, que luego se utiliza para realizar diversas operaciones como leer o escribir en el archivo.
La sintaxis básica de la función open()
es la siguiente:
file = open(filename, mode)
Aquí, filename
es una cadena que especifica la ruta del archivo que deseas abrir. El argumento mode
es una cadena que indica el modo de apertura del archivo. Algunos de los modos más comunes son:
'r'
: Modo de lectura (read). El archivo debe existir. Este es el modo por defecto si no se especifica ninguno.'w'
: Modo de escritura (write). Si el archivo existe, su contenido se sobrescribe. Si no existe, se crea un nuevo archivo.'a'
: Modo de añadir (append). Si el archivo existe, el nuevo contenido se añade al final del archivo. Si no existe, se crea un nuevo archivo.'x'
: Modo de creación exclusiva (exclusive creation). Crea un nuevo archivo, pero falla si el archivo ya existe.'b'
: Modo binario. Se utiliza con otros modos (ej.,'rb'
para lectura binaria,'wb'
para escritura binaria).'t'
: Modo texto (text). Este es el modo por defecto.'+'
: Modo de actualización (updating). Permite tanto la lectura como la escritura. Se debe usar con otros modos (ej.,'r+'
,'w+'
,'a+'
).
Ejemplo: Abriendo un archivo en modo de lectura:
try:
f = open("demofile.txt", "r")
print("Archivo abierto exitosamente para lectura.")
# Aquí irán las operaciones de lectura
finally:
# Es importante cerrar el archivo después de usarlo
if 'f' in locals() and not f.closed:
f.close()
print("Archivo cerrado.")
En este ejemplo, intentamos abrir un archivo llamado "demofile.txt" en modo de lectura ("r"
). El bloque try...finally
se utiliza para asegurar que el archivo se cierre correctamente, incluso si ocurren errores durante la operación.
Importante: Cerrar el archivo
Es crucial cerrar el archivo después de que hayas terminado de trabajar con él utilizando el método close()
del objeto archivo. Esto libera los recursos del sistema y asegura que los cambios realizados en el archivo se guarden correctamente.
✂️ Read Only Parts of the File
✂️ A menudo, no necesitas leer el contenido completo de un archivo de una sola vez. Python te permite leer solo una parte específica del archivo utilizando métodos como read()
con un argumento de tamaño.
El método read(size)
:
El método read()
se utiliza para leer el contenido del archivo. Si se le pasa un argumento entero size
, leerá hasta esa cantidad de caracteres (en modo texto) o bytes (en modo binario) del archivo y devolverá la cadena o el objeto bytes leído. Si no se especifica size
, leerá el archivo completo.
Ejemplo: Leer los primeros 10 caracteres de un archivo:
try:
with open("demofile.txt", "r") as f:
primeros_diez = f.read(10)
print(f"Los primeros 10 caracteres son: '{primeros_diez}'")
except FileNotFoundError:
print("El archivo 'demofile.txt' no fue encontrado.")
except Exception as e:
print(f"Ocurrió un error: {e}")
En este ejemplo, abrimos el archivo "demofile.txt" en modo lectura ("r"
) utilizando la sentencia with
, que asegura que el archivo se cierre automáticamente al finalizar el bloque. Luego, leemos los primeros 10 caracteres del archivo utilizando f.read(10)
y los imprimimos.
Leer partes secuencialmente:
Puedes llamar a read(size)
varias veces para leer el archivo en partes secuenciales. El objeto archivo mantiene un puntero interno que indica la posición actual de lectura. Cada llamada a read()
comenzará desde la posición siguiente a la última lectura.
Ejemplo: Leer un archivo en bloques de 5 caracteres:
try:
with open("demofile.txt", "r") as f:
bloque = f.read(5)
while bloque:
print(f"Bloque leído: '{bloque}'")
bloque = f.read(5)
except FileNotFoundError:
print("El archivo 'demofile.txt' no fue encontrado.")
except Exception as e:
print(f"Ocurrió un error: {e}")
En este caso, leemos el archivo en bloques de 5 caracteres hasta que f.read(5)
devuelve una cadena vacía, lo que indica que se ha llegado al final del archivo.
Leer solo partes específicas de un archivo puede ser eficiente, especialmente cuando se trabaja con archivos muy grandes, ya que evita cargar todo el contenido en la memoria de una sola vez.
📄 Read Lines
📄 Cuando trabajas con archivos de texto, a menudo es necesario leer el contenido línea por línea. Python proporciona varios métodos para lograr esto.
El método readline()
:
El método readline()
lee una sola línea del archivo, incluyendo el carácter de nueva línea (\n
) al final de la línea si está presente. En cada llamada sucesiva, readline()
avanzará al siguiente línea del archivo y la leerá. Cuando se alcanza el final del archivo, readline()
devuelve una cadena vacía.
Ejemplo: Leer un archivo línea por línea usando readline()
:
try:
with open("demofile.txt", "r") as f:
linea = f.readline()
while linea:
print(f"Línea leída: '{linea.strip()}'") # .strip() elimina el carácter de nueva línea
linea = f.readline()
except FileNotFoundError:
print("El archivo 'demofile.txt' no fue encontrado.")
except Exception as e:
print(f"Ocurrió un error: {e}")
En este ejemplo, abrimos el archivo y luego, dentro de un bucle while
, leemos cada línea utilizando f.readline()
. El método strip()
se utiliza para eliminar cualquier carácter de espacio en blanco al principio o al final de la línea, incluyendo el carácter de nueva línea.
El método readlines()
:
El método readlines()
lee todas las líneas del archivo y las devuelve como una lista de cadenas. Cada cadena en la lista representa una línea del archivo, incluyendo el carácter de nueva línea al final.
Ejemplo: Leer todas las líneas de un archivo usando readlines()
:
try:
with open("demofile.txt", "r") as f:
lineas = f.readlines()
for linea in lineas:
print(f"Línea leída (readlines): '{linea.strip()}'")
except FileNotFoundError:
print("El archivo 'demofile.txt' no fue encontrado.")
except Exception as e:
print(f"Ocurrió un error: {e}")
Aquí, f.readlines()
devuelve una lista donde cada elemento es una línea del archivo. Luego, iteramos sobre esta lista para imprimir cada línea.
Iterando directamente sobre el objeto archivo:
Una forma aún más concisa de leer un archivo línea por línea es iterar directamente sobre el objeto archivo en un bucle for
. Esto es eficiente en términos de memoria, ya que no carga todo el archivo en la memoria a la vez.
Ejemplo: Iterar sobre el objeto archivo para leer líneas:
try:
with open("demofile.txt", "r") as f:
for linea in f:
print(f"Línea leída (iteración): '{linea.strip()}'")
except FileNotFoundError:
print("El archivo 'demofile.txt' no fue encontrado.")
except Exception as e:
print(f"Ocurrió un error: {e}")
Esta es la forma más idiomática y recomendada para leer un archivo de texto línea por línea en Python.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias