Tener un objeto de archivo en Python 2.7:Diferencia entre xreadlines y de bucle de un archivo
f = open('my_file', 'r')
¿Cuál sería la diferencia entre fines de bucle el archivo (forma más común) y el uso de la función xreadlines()
:
for line in f:
# Do something with line
y
for line in f.xreadlines():
# Do something with line
Es decir, las dos opciones definen un generador, en contraste con el readlines()
o read()
funciones que carga todo el contenido del archivo a la memoria.
¿Hay algún rendimiento o mejora de manejo de archivos en alguno de ellos? ¿O simplemente son formas equivalentes de hacer lo mismo?
'xreadlines' fue lo primero. En general, Python comenzó con funciones basadas en listas ('range',' items', 'zip'), contrapartes de iteradores introducidas (' xrange, 'iteritems',' izip') y luego cambió las funciones originales para devolver iteradores. Este es el final de uno de esos cambios. – katrielalex
Note también que 'for _ in something' llamará' iter (something) 'detrás de las escenas. – katrielalex