【问题标题】:How do I use a recursive collection listing to build a directory structure?如何使用递归集合列表来构建目录结构?
【发布时间】:2012-05-01 18:36:32
【问题描述】:

如何做一个简单的递归列表来构建目录结构?

我正在使用 gdata python 客户端库。查看 client.py 和 data.py,没有直接的方法来列出和构建目录结构。

我正在做的是:(假设 self.client 已通过身份验证)

  1. self.client.GetAllResources(包括 showfolders=true)
  2. 对于每个资源检查 resource.in_collections()

还有比上面更好的方法吗?

谢谢

【问题讨论】:

  • 我目前在我的 gdrive-cli 项目中这样做的方式是将文件元数据存储在本地 sqlite 数据库中。 github.com/tom-dignan/gdrive-cli
  • 谢谢。我查看了您的代码,但不确定您在哪里处理集合/文件夹。你在 gdrive-cli 中支持他们吗?
  • 集合还没有实现,只是以扁平化的方式列出文件

标签: python gdata google-drive-api


【解决方案1】:

另一种方法是首先扫描层次结构中的文件夹,然后为每个文件夹列出所有资源。您可以将任何 URI 传递给 GetAllResources 方法,在这种情况下,它将是:

  1. 仅适用于根目录中的文件夹:

    https://docs.google.com/feeds/default/private/full/folder%3Aroot/contents/-/folder

  2. 对于 ID 为 123456 的文件夹的内容:

    https://docs.google.com/feeds/default/private/full/folder%3A123456/contents/

默认情况下,文件夹本身不会在内容提要中列出,因此您可以将这两者结合起来以获得整个层次结构。

我想我更喜欢你上面的方法来获得一个平面列表并生成文件夹层次结构,这只是提供一种替代方法。

【讨论】:

    猜你喜欢
    • 2020-07-17
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    相关资源
    最近更新 更多