(self, size=-1)
return data
Read at most size bytes from the chunk.
        If size is omitted or negative, read until the end
        of the chunk.
Read at most size bytes from the chunk.
        If size is omitted or negative, read until the end
        of the chunk.
Read at most size bytes from the chunk . If size is omitted or negative read until the end of the chunk .
def read(self, size=-1):
        """Read at most size bytes from the chunk.
        If size is omitted or negative, read until the end
        of the chunk.
        """

        if self.closed:
            raise ValueError("I/O operation on closed file")
        if self.size_read >= self.chunksize:
            return ''
        if size < 0:
            size = self.chunksize - self.size_read
        if size > self.chunksize - self.size_read:
            size = self.chunksize - self.size_read
        data = self.file.read(size)
        self.size_read = self.size_read + len(data)
        if self.size_read == self.chunksize and \
           self.align and \
           (self.chunksize & 1):
            dummy = self.file.read(1)
            self.size_read = self.size_read + len(dummy)
        return data
def read ( self , size = - 1 ) : if self . closed : raise ValueError ( "I/O operation on closed file" ) if self . size_read >= self . chunksize : return '' if size < 0 : size = self . chunksize - self . size_read if size > self . chunksize - self . size_read : size = self . chunksize - self . size_read data = self . file . read ( size ) self . size_read = self . size_read + len ( data ) if self . size_read == self . chunksize and self . align and ( self . chunksize & 1 ) : dummy = self . file . read ( 1 ) self . size_read = self . size_read + len ( dummy ) return data