我正在尝试使用PyDrive将文件从本地计算机复制到GDrive中的特定文件夹。如果目标文件夹尚不存在,我想创建它。这是我的代码的相关部分:
gfile = drive.CreateFile({'title':'dummy.csv',
'mimeType':'text/csv',
'parent': tgt_folder_id})
gfile.SetContentFile('dummy.csv')
gfile.Upload() # Upload it
我肯定是正确创建/找到目标文件夹,而tgt_folder_id是正确的,但PyDrive总是将文件写入我的Google云端硬盘的根文件夹,而不是我指定的目标文件夹通过'parent'参数。
我在这里做错了什么?
答案 0 :(得分:26)
好的,看起来就像你这样做:
gfile = drive.CreateFile({'title':'dummy.csv', 'mimeType':'text/csv',
"parents": [{"kind": "drive#fileLink","id": tgt_folder_id}]})
"父母"地图用于谷歌驱动器SDK,PyDrive应该包装。但我在PyDrive中看到的极少数例子使用了#34; parent"并且似乎不起作用。
无论如何,希望这可以帮助遇到同样问题的其他人。
答案 1 :(得分:1)
Ahoj @ i-am-nik,要列出子文件夹,您可以使用稍微改动的行:
file_list = drive.ListFile({'q': 'trashed=false', 'maxResults': 10}).GetList()
for file1 in file_list:
print('title: %s, id: %s' % (file1['title'], file1['id']))
这样,它将同时列出文件夹和子文件夹(当然,如果您有很多文件,则可能需要更改maxResults值或添加缩小查询范围。