You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Databricks如何列出指定文件夹下的全部Notebook文件?

Databricks列出指定工作区文件夹下Notebook的解决方案

dbutils.fs.ls是用于操作DBFS(Databricks分布式文件系统)的接口,只能读取DBFS路径下的存储资源,而工作区(Workspace)中的Notebook存放在独立的工作区存储层,所以用这个方法无法查询到对应结果。你可以通过以下两种方式实现需求:

方法1:使用dbutils.workspace模块(推荐)

Databricks 11.0及以上运行时版本默认提供dbutils.workspace模块,直接调用其ls方法即可查询工作区资源:

# 替换为XXYY文件夹对应的完整工作区路径,例如/Users/your_email@domain.com/XXYY
target_path = "/XXYY"
# 列出目标路径下的所有工作区对象
workspace_items = dbutils.workspace.ls(target_path)
# 筛选仅保留Notebook类型的对象
notebook_list = [item for item in workspace_items if item.object_type == "NOTEBOOK"]
# 输出Notebook信息
for nb in notebook_list:
    print(f"Notebook名称:{nb.name},完整路径:{nb.path}")

如果需要递归遍历XXYY文件夹下所有子目录的Notebook,可以增加递归逻辑:

def list_all_notebooks(path):
    all_notebooks = []
    for item in dbutils.workspace.ls(path):
        if item.object_type == "NOTEBOOK":
            all_notebooks.append(item)
        elif item.object_type == "DIRECTORY":
            all_notebooks.extend(list_all_notebooks(item.path))
    return all_notebooks
# 调用递归方法
all_notebooks = list_all_notebooks("/XXYY")
for nb in all_notebooks:
    print(f"{nb.name} | {nb.path}")

方法2:调用Workspace REST API(兼容低版本运行时)

如果你使用的运行时版本低于11.0没有dbutils.workspace模块,可以直接调用工作区REST接口实现:

import requests
# 自动获取当前环境的接口地址和认证凭证
api_url = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiUrl().get()
api_token = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiToken().get()
target_path = "/XXYY"
resp = requests.get(
    f"{api_url}/api/2.0/workspace/list",
    headers={"Authorization": f"Bearer {api_token}"},
    params={"path": target_path}
)
resp.raise_for_status()
items = resp.json().get("objects", [])
# 筛选Notebook
notebook_list = [item for item in items if item["object_type"] == "NOTEBOOK"]
for nb in notebook_list:
    nb_name = nb["path"].split("/")[-1]
    print(f"Notebook名称:{nb_name},完整路径:{nb['path']}")

注意事项

  • 调用前需要确认当前账号对目标XXYY文件夹有可读权限,否则会触发权限报错。
  • object_type字段除了NOTEBOOK外,还支持DIRECTORY(文件夹)、LIBRARY(库)、REPO(代码仓库),可以按需调整筛选逻辑。

内容的提问来源于stack exchange,提问作者sys

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 00:54:04