Introducing Gradio Clients

Watch

New to Gradio? Start here: Getting Started

See the Release History

FileExplorer

gradio.FileExplorer(···)

Description

Creates a file explorer component that allows users to browse files on the machine hosting the Gradio app. As an input component, it also allows users to select files to be used as input to a function, while as an output component, it displays selected files.

Behavior

As input component: Passes the selected file or directory as a str path (relative to root) or list[str} depending on file_count

Your function should accept one of these types:
def predict(
	value: list[str] | str | None
)
	...

As output component: Expects function to return a str path to a file, or list[str] consisting of paths to files.

Your function should return one of these types:
def predict(···) -> str | list[str] | None
	...	
	return value

Initialization

Parameters

Shortcuts

Class Interface String Shortcut Initialization

gradio.FileExplorer

"fileexplorer"

Uses default values

Demos

import gradio as gr from pathlib import Path current_file_path = Path(__file__).resolve() relative_path = "path/to/file" absolute_path = (current_file_path.parent / ".." / ".." / "gradio").resolve() def get_file_content(file): return (file,) with gr.Blocks() as demo: gr.Markdown('### `FileExplorer` to `FileExplorer` -- `file_count="multiple"`') submit_btn = gr.Button("Select") with gr.Row(): file = gr.FileExplorer( glob="**/components/*.py", # value=["themes/utils"], root_dir=absolute_path, ignore_glob="**/__init__.py", ) file2 = gr.FileExplorer( glob="**/components/**/*.py", root_dir=absolute_path, ignore_glob="**/__init__.py", ) submit_btn.click(lambda x: x, file, file2) gr.Markdown("---") gr.Markdown('### `FileExplorer` to `Code` -- `file_count="single"`') with gr.Group(): with gr.Row(): file_3 = gr.FileExplorer( scale=1, glob="**/components/**/*.py", value=["themes/utils"], file_count="single", root_dir=absolute_path, ignore_glob="**/__init__.py", elem_id="file", ) code = gr.Code(lines=30, scale=2, language="python") file_3.change(get_file_content, file_3, code) if __name__ == "__main__": demo.launch()

Event Listeners

Description

Event listeners allow you to respond to user interactions with the UI components you've defined in a Gradio Blocks app. When a user interacts with an element, such as changing a slider value or uploading an image, a function is called.

Supported Event Listeners

The FileExplorer component supports the following event listeners. Each event listener takes the same parameters, which are listed in the Event Parameters table below.

Listener Description

FileExplorer.change(fn, ···)

Event Parameters

Parameters