Progress when parsing a large file with SAX

Anastasios Hatzis ah at hatzis.de
Mon Feb 12 07:56:48 EST 2007


Diez B. Roggisch wrote:

...

I got the same problem with large XML as Marc.

So you deserve also my thanks for the example. :-)

> class PercentageFile(object):
> 
>    def __init__(self, filename):
>        self.size = os.stat(filename)[6]
>        self.delivered = 0
>        self.f = file(filename)
> 
>    def read(self, size=None):
>        if size is None:
>           self.delivered = self.size
>           return self.f.read()
>        data = self.f.read(size)
>        self.delivered += len(data)
>        return data
> 

I guess some client impl need to call read() on a wrapped xml file until 
all portions of the file are read.

>    @property
>    def percentage(self):
>        return float(self.delivered) / self.size * 100.0
> 

@property?

What is that supposed to do?

Anastasios



More information about the Python-list mailing list