使用python/dbutils,如何在Databricks文件系统(DBFS)中递归显示当前目录和子目录的文件。
原文由 Kiran A 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用python/dbutils,如何在Databricks文件系统(DBFS)中递归显示当前目录和子目录的文件。
原文由 Kiran A 发布,翻译遵循 CC BY-SA 4.0 许可协议
可以使用生成器和 yield
运算符来完成替代实现。您必须至少使用 Python 3.3+
用于 yield from
运算符并查看这篇 精彩文章 以更好地理解 yield
运算符:
def get_dir_content(ls_path):
for dir_path in dbutils.fs.ls(ls_path):
if dir_path.isFile():
yield dir_path.path
elif dir_path.isDir() and ls_path != dir_path.path:
yield from get_dir_content(dir_path.path)
list(get_dir_content('/databricks-datasets/COVID/CORD-19/2020-03-13'))
原文由 choeh 发布,翻译遵循 CC BY-SA 4.0 许可协议
dbutils.fs.ls(和 %fs 魔术命令)令人惊讶的是它似乎不支持任何递归开关。但是,由于 ls 函数返回 FileInfo 对象的列表,因此递归迭代它们以获取全部内容非常简单,例如: