docs: def copyfile(src, dst, follow_symlinks=True):
      """
      Copies a source file to a destination file.
  
      Equivalent to "shutil.copyfile".
  
      Source and destination can also be binary opened file-like objects.
  
      Args:
          src (path-like object or file-like object): Source file.
          dst (path-like object or file-like object): Destination file.
          follow_symlinks (bool): Follow symlinks.
              Not supported on cloud storage objects.
  
      Raises:
           IOError: Destination directory not found.
      """
      # Handles path-like objects and checks if storage
      src, src_is_storage = format_and_is_storage(src)
      dst, dst_is_storage = format_and_is_storage(dst)
  
      # Local files: Redirects to "shutil.copyfile"
      if not src_is_storage and not dst_is_storage:
          return shutil_copyfile(src, dst, follow_symlinks=follow_symlinks)
  
      with handle_os_exceptions():
          # Checks destination
          try:
              if not hasattr(dst, 'read') and not isdir(dirname(dst)):
                  raise IOError("No such file or directory: '%s'" % dst)
  
          except ObjectPermissionError:
              # Unable to check target directory due to missing read access, but
              # do not raise to allow to write if possible
              pass
  
          # Performs copy
          _copy(src, dst, src_is_storage, dst_is_storage)