hola Rodolfo<br><br><div class="gmail_quote">El 22 de mayo de 2013 22:30, Rodolfo Pilas <span dir="ltr"><<a href="mailto:r@pil.as" target="_blank">r@pil.as</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



                <div style="font-family:Helvetica;font-size:13px">… y yo algun día aprenderé a razonar así:<div><div><br></div><div><div><span style="font-family:arial,sans-serif">articulos = [line.strip().lower() for line in </span><span style="font-family:arial,sans-serif">open('datos.dat')]</span><span style="font-family:arial,sans-serif"> </span><br>


</div></div><div><span style="font-family:arial,sans-serif"><br></span></div></div><div><font face="arial, sans-serif">…. porque soy de los que pone el for en el margen izquierdo…. aunque python me va educando de a poco y uso while for  ;)</font></div>


<div><font face="arial, sans-serif"><br></font></div></div></blockquote><div><br></div><div>Otra cosa que es importante, que incluso puede ir "contra" el armado del array on-the-fly, es el hecho de que a medida que crece el array, la memoria se va llenando con las líneas del archivos. En muchos casos no te importa mucho porque es más importante escribir un programa de determinado modo, o porque de algún modo sabés o suponés que el tamaño del archivo nunca superará un límite razonable. Para casos pesados, lo recomendable es: usar iterators (como imap) pero no usar arrays, sino que en un loop común (for o while) a medida que leés, realizás las acciones derivadas directamente, si es que las podés realizar línea a línea. Muchas veces tenés que mantener un "estado", e incluso en esos casos puede evitarse el array. Si te sobre ram, y siempre te va a sobrar, no sería un problema, pero si el script va a correr en forma simultánea en más de un proceso, esto multiplica el total de memoria que vas ocupando con los respectivos arrays intermedios, y es un punto a favor de no almacenar la información del archivo en un array. Va en gustos, pero te lo comento porque es una experiencia frecuente darse cuenta que no es "sustentable"  meter todo en la ram.</div>


<div><br></div><div>salute</div><div>Haroldo</div><div><br></div><div><br></div></div>