【问题标题】:How to find the sub folder id in Google Drive using pydrive in Python?如何在 Python 中使用 pydrive 在 Google Drive 中查找子文件夹 ID?
【发布时间】:2020-05-29 18:28:58
【问题描述】:

Google Drive 上的目录结构如下: mydrive/BTP/BTP-4 内部

我需要获取 BTP-4 的文件夹 ID,以便从文件夹中传输特定文件。我该怎么做?

fileList = GoogleDrive(self.driveConn).ListFile({'q': "'root' in parents and trashed=false"}).GetList()
for file in fileList:
    if (file['title'] == "BTP-4"):
        fileID = file['id']
        print(remoteFile, fileID)
        return fileID

【问题讨论】:

  • 它确实做到了,但说我有我需要下载的文件的路径。是否可以提供 /MyDrive/BTP/BTP-4 之类的路径和文件名为“test.csv”,然后直接下载文件?
  • 添加您尝试过的代码
  • for i, file1 in enumerate(sorted(file_list, key=lambda x: x['title']), start=1): if "."在 file1['title']: try: print('Downloading {} from GDrive ({}/{})'.format(file1['title'], i, len(file_list))) file1.GetContentFile(os. path.join("C:\\Desktop", file1['title'])) 例外为 e: print("UNABLE TO TRANSFER FILES:" + str(e))
  • 有问题的更新

标签: python google-drive-api pydrive


【解决方案1】:

能否将路径如 /MyDrive/BTP/BTP-4 和文件名设为“test.csv”,然后直接下载文件?

答案:

很遗憾,这是不可能的。

更多信息:

Google Drive 支持在同一位置创建多个同名文件或文件夹:

因此,在某些情况下,提供文件路径不足以唯一标识文件或文件夹 - 在这种情况下,mydrive/Parent folder/Child folder/Child doc 指向两个不同的文件,mydrive/Parent folder/Child folder/Child folder 指向五个不同的文件夹.

您必须直接搜索带有 ID 的文件夹,或者要获取文件夹/文件的 ID,您必须像您已经在做的那样通过文件夹递归搜索子项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多