code: def read_from(fpath, verbose=None, aslines=False, strict=True, n=None, errors='replace'):
      r
      if n is None:
          n = __READ_TAIL_N__
      verbose = _rectify_verb_read(verbose)
      if verbose:
          print('[util_io] * Reading text file: %r ' % util_path.tail(fpath, n=n))
      try:
          if not util_path.checkpath(fpath, verbose=verbose, n=n):
              raise IOError('[io] * FILE DOES NOT EXIST!')
          with open(fpath, 'rb') as file_:
              if aslines:
                  if six.PY2:
                      text = [line.decode('utf8', errors=errors)
                              for line in file_.readlines()]
                  else:
                      text = [line.decode('utf8', errors=errors)
                              for line in file_.readlines()]
              else:
                  if six.PY2:
                      text = file_.read().decode('utf8', errors=errors)
                  else:
                      text = file_.read().decode('utf8', errors=errors)
          return text
      except IOError as ex:
          from utool import util_dbg
          if verbose or strict:
              util_dbg.printex(ex, ' * Error reading fpath=%r' %
                               util_path.tail(fpath, n=n), '[io]')
          if strict:
              raise