def read(self, size = -1):
        """read up to 'size' bytes from the file

        Default is -1, which means to read to end of file.
        """
        x = self._read(size)
        if self.at_beginning and x:
            self.at_beginning = 0
        self._check_no_buffer()
        return x
read up to 'size' bytes from the file

        Default is -1, which means to read to end of file.
        
recipes/Python/173071_ReseekFile/recipe-173071.py