code: def text(self, encoding=None, errors='strict'):
          r
          if encoding is None:
              # 8-bit
              f = self.open(_textmode)
              try:
                  return f.read()
              finally:
                  f.close()
          else:
              # Unicode
              f = codecs.open(self, 'r', encoding, errors)
              # (Note - Can't use 'U' mode here, since codecs.open
              # doesn't support 'U' mode, even in Python 2.3.)
              try:
                  t = f.read()
              finally:
                  f.close()
              return (t.replace(u'\r\n', u'\n')
                       .replace(u'\r\x85', u'\n')
                       .replace(u'\r', u'\n')
                       .replace(u'\x85', u'\n')
                       .replace(u'\u2028', u'\n'))
docs: r""" Open this file, read it in, return the content as a string.
  
          This uses 'U' mode in Python 2.3 and later, so '\r\n' and '\r'
          are automatically translated to '\n'.
  
          Optional arguments:
  
          encoding - The Unicode encoding (or character set) of
              the file.  If present, the content of the file is
              decoded and returned as a unicode object; otherwise
              it is returned as an 8-bit str.
          errors - How to handle Unicode errors; see help(str.decode)
              for the options.  Default is 'strict'.