[Python-es] Wrapper para ficheros (i.e. file objects)
Javier Collado
javier.collado en gmail.com
Mie Ene 20 15:34:57 CET 2010
Hola,
No lo he usado, pero creo que este paquete puede ayudar:
http://pypi.python.org/pypi/filelike/0.3.5p1
Un saludo,
Javier
El día 20 de enero de 2010 15:28, lasizoillo <lasizoillo en gmail.com> escribió:
> El día 19 de enero de 2010 21:09, Olemis Lang <olemis en gmail.com> escribió:
>> Alguien conoce si existen wrappers (preferentemente en stdlib ;o) para
>> obtener implementaciones de los métodos `readline`, `next`, ... a
>> partir de un objeto fichero q solo tenga el método `read` ?
>>
>
> Puedes hacerte algo simplon como esto:
>
> #kk.py
> class Wrapper(object):
> def __init__(self, reader, separator='\n'):
> self.reader = reader
> self.separator = separator
> self.buffer = ""
>
> def readlines(self):
> data = self.reader.read(1024)
> while data:
> slices = (self.buffer + data).split(self.separator)
> for line in slices[0:-1]:
> yield line + self.separator
> self.buffer = slices[-1]
> data = self.reader.read(1024)
> yield self.buffer
>
> if __name__ == '__main__':
> f = open("kk.py")
> w = Wrapper(f)
> for i in w.readlines():
> print ">>", i,
>
>
> También podrias modificar la clase esa para usarla como un mixin. Con
> eso ya tendrías tu wrapper para añadir la funcionalidad de leer
> lineas. No conozco nada en el sistema base que te lo dé ya hecho como
> hay para hacer diccionarios y demás, pero como ves tampoco cuesta
> mucho hacerlo.
>
> Un saludo:
>
> Javi
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
Más información sobre la lista de distribución Python-es