【问题标题】:Google pydrive uploading a file to specific folderGoogle pydrive 将文件上传到特定文件夹
【发布时间】:2019-06-03 20:23:27
【问题描述】:

我正在尝试将文件上传到我的 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()

【问题讨论】:

    标签: python google-drive-api google-api-client pydrive


    【解决方案1】:
    • 您想使用 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 的替代方法

    你可以使用下面的sn-p来打印文件和/或文件夹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']
    

    【讨论】:

    • 如何获取文件夹的ID?
    • @programmerwiz32 我提出了另外一项修改。在此修改中,可以使用文件夹名称将文件上传到特定文件夹。你能确认一下吗?
    • 谢谢它的工作,有没有办法阻止谷歌在我运行代码时弹出登录页面(我的帐户已经登录),即选择谷歌帐户然后允许访问?
    • @programmerwiz32 感谢您的回复。我很高兴你的问题得到了解决。关于你的新问题,很遗憾,我无法复制你的情况。我为这种情况道歉。那么您可以通过包含更多信息作为新问题来发布它吗?这样,包括我在内的用户都可以想到你的情况。我想确认你的情况。如果您能合作解决您的问题,我很高兴。
    • @programmerwiz32 感谢您的回复。顺便问一下,标签是什么?
    猜你喜欢
    • 1970-01-01
    • 2023-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 2016-07-26
    • 1970-01-01
    相关资源
    最近更新 更多