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 escribirB.
'w' sobrescribe el archivo, 'a' añade contenido al archivoC.
'w' es para Windows, 'a' es para AppleD. No hay diferencia