Lectura y Escritura de Archivos

Para obtener una mirada más profunda a la manipulación de rutas de archivos y directorios, consulte la página Rutas de Archivos y Directorios.

El proceso de lectura/escritura de archivos

Para leer/escribir en un archivo en Python, querrá usar la declaración with, que cerrará el archivo por usted cuando haya terminado, administrando los recursos disponibles.

Abrir y leer archivos

La función open abre un archivo y devuelve un objeto de archivo correspondiente.

# Leer archivo usando la declaración 'with': cierra automáticamente el archivo cuando termina
with open('/home/labex/project/hi.txt') as hello_file:
    hello_content = hello_file.read()  # Leer todo el contenido del archivo

hello_content
'Hello World!'
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Cuál es la principal ventaja de usar la declaración with al abrir archivos?
A. El archivo se cierra automáticamente cuando termina, incluso si ocurre un error
B. Los archivos se abren más rápido
C. Los archivos se pueden abrir en modo lectura y escritura simultáneamente
D. Los archivos se comprimen automáticamente

Alternativamente, puede usar el método readlines() para obtener una lista de valores de cadena del archivo, una cadena por cada línea de texto:

# método readlines(): devuelve una lista de cadenas, una por línea
with open('sonnet29.txt') as sonnet_file:
    sonnet_file.readlines()  # Devuelve una lista con cada línea como una cadena
['When, in disgrace with fortune and men's eyes,\n',
 ' I all alone beweep my  outcast state,\n',
 "And trouble deaf heaven with my bootless cries,\n",
 "And look upon myself and curse my fate,']

También puede iterar a través del archivo línea por línea:

# Iterar a través del archivo línea por línea (eficiente en memoria para archivos grandes)
with open('sonnet29.txt') as sonnet_file:
    for line in sonnet_file:  # El objeto archivo es iterable
        print(line, end='')  # Imprimir sin nueva línea extra
When, in disgrace with fortune and men's eyes,
I all alone beweep my outcast state,
And trouble deaf heaven with my bootless cries,
And look upon myself and curse my fate,

Escribir en archivos

# Escribir en archivo: el modo 'w' sobrescribe el archivo existente
with open('bacon.txt', 'w') as bacon_file:  # 'w' = modo escritura
    bacon_file.write('Hello world!\n')  # Devuelve el número de caracteres escritos
13
# Añadir al archivo: el modo 'a' añade al archivo existente
with open('bacon.txt', 'a') as bacon_file:  # 'a' = modo añadir
    bacon_file.write('Bacon is not a vegetable.')
25
with open('bacon.txt') as bacon_file:
    content = bacon_file.read()

print(content)
Hello world!
Bacon is not a vegetable.
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Cuál es la diferencia entre abrir un archivo con el modo 'w' y el modo 'a'?
A. 'w' es para leer, 'a' es para escribir
B. 'w' sobrescribe el archivo, 'a' añade contenido al archivo
C. 'w' es para Windows, 'a' es para Apple
D. No hay diferencia

Enlaces relevantes