def open_files(paths, mode="r", skip_failures=False, progress=None):
    """Opens the given files for reading or writing.

    Args:
        paths: a list of paths
        mode ("r"): the mode. Supported values are ``("r", "rb", "w", "wb")``
        skip_failures (False): whether to gracefully continue without raising
            an error if an operation fails
        progress (None): whether to render a progress bar (True/False), use the
            default value ``fiftyone.config.show_progress_bars`` (None), or a
            progress callback function to invoke instead

    Returns:
        a list of open file-like objects
    """
    tasks = [(p, mode, skip_failures) for p in paths]
    return _run(_do_open_file, tasks, return_results=True, progress=progress)
Opens the given files for reading or writing.

    Args:
        paths: a list of paths
        mode ("r"): the mode. Supported values are ``("r", "rb", "w", "wb")``
        skip_failures (False): whether to gracefully continue without raising
            an error if an operation fails
        progress (None): whether to render a progress bar (True/False), use the
            default value ``fiftyone.config.show_progress_bars`` (None), or a
            progress callback function to invoke instead

    Returns:
        a list of open file-like objects
    
fiftyone/core/storage.py