Procesamiento de archivos de texto: continuación
Si estás absolutamente seguro de que la longitud del archivo es segura y puedes leer todo el archivo en la memoria de una vez, puedes hacerlo: la función read()
, invocada sin ningún argumento o con un argumento que se evalúa a None
, hará el trabajo por ti.
Recuerda - el leer un archivo muy grande (en terabytes) usando este método puede dañar tu sistema operativo.
No esperes milagros: la memoria de la computadora no se puede extender.
Observa el código en el editor. ¿Que piensas de el?
Vamos a analizarlo:
- Abre el archivo, como anteriormente se hizo.
- Lee el contenido mediante una invocación de la función
read()
. - Despues, se procesa el texto, iterando con un bucle
for
su contenido, y se actualiza el valor del contador en cada vuelta del bucle.
El resultado será exactamente el mismo que en el ejemplo anterior.
Code
from os import strerrortry:
cnt = 0
s = open('text.txt', "rt")
content = s.read()
for ch in content:
print(ch, end='')
cnt += 1
ch = s.read(1)
s.close()
print("\n\nCaracteres en el archivo: ", cnt)
except IOError as e:
print("Se produjo un error de E/S: ", strerr(e.errno))
{{ dockerServerErrorMsg }}
×
{{ errorMsg }}
×
{{ successMsg }}
×