【问题标题】:Remove folder in blob in a more effective way以更有效的方式删除 blob 中的文件夹
【发布时间】:2020-02-24 15:34:21
【问题描述】:

假设我要从数据块中的 blob 中删除一个文件夹。但是,当文件夹不为空时,它会抛出错误“non-empty” directory is not allowed using dbutils.fs.rm("wabs://..../folder") 甚至有错误 include recurse=True 如何解决?

【问题讨论】:

    标签: python azure-blob-storage databricks


    【解决方案1】:

    注意:删除文件或目录(可选递归删除目录中的所有文件)。如果路径是非空目录并且 recursive 设置为 false 或其他类似错误,则此调用会引发 IO_ERROR 异常。

    更多详情,请参考类似SO线程。

    希望这会有所帮助。

    【讨论】:

    • so rm 一个目录在非空目录上是不允许的?
    • rm 函数接收 2 个参数:rm(dir: String, recurse: boolean = false): boolean -> 删除文件或目录其中第二个参数是设置递归性的布尔标志,所以您只需将其设置为 true:
    • 最后我使用 shutil.rmtree() 删除文件夹。并使用 dbutils.fs.mkdirs 重新创建
    • 感谢您的确认。您能否将您的答案添加为答案并接受它作为答案。这对其他社区成员可能是有益的。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多