Google pydrive 正在将文件上传到特定文件夹

Google pydrive uploading a file to specific folder

我正在尝试将文件上传到我的 Google 驱动器,下面的代码有效。 我如何指定要上传到哪个文件夹,即驱动器---与我共享--csvFolder

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive


gauth = GoogleAuth()
gauth.LocalWebserverAuth()

drive = GoogleDrive(gauth)

file2 = drive.CreateFile()
file2.SetContentFile('new_test.csv')
file2.Upload()
  • 您想使用 pydrive 将文件上传到 Google 驱动器中的特定文件夹。

如果我的理解是正确的,这个修改怎么样?

发件人:

file2 = drive.CreateFile()

收件人:

file2 = drive.CreateFile({'parents': [{'id': '### folder ID ###'}]})
  • 请像上面一样设置文件夹ID。

参考:

如果这不是您想要的结果,我深表歉意。

已添加:

当你想从文件夹名称上传文件到特定文件夹时,这个修改怎么样?

发件人:

file2 = drive.CreateFile()
file2.SetContentFile('new_test.csv')
file2.Upload()

收件人:

folderName = '###'  # Please set the folder name.

folders = drive.ListFile(
    {'q': "title='" + folderName + "' and mimeType='application/vnd.google-apps.folder' and trashed=false"}).GetList()
for folder in folders:
    if folder['title'] == folderName:
        file2 = drive.CreateFile({'parents': [{'id': folder['id']}]})
        file2.SetContentFile('new_test.csv')
        file2.Upload()

获取文件夹 ID 的替代方法

您可以使用以下代码片段打印文件和/或文件夹 ID

fileList = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
for file in fileList:
  print('Title: %s, ID: %s' % (file['title'], file['id']))
  # Get the folder ID that you want
  if(file['title'] == "To Share"):
      fileID = file['id']