我试图用Python从Google Drive下载一个文件,但我不确定文件被存储在哪里。
按照这里的例子。https:/developers.google.comdriveapiv3manage-downloads#python。
代码。
def DownloadGoogleFile(id: int):
file = str(id) + '.txt'
creds = GetGoogleCredentials()
service = build('drive', 'v3', credentials=creds)
# Call the Drive v3 API
FileSearch = service.files().list(q="name='{0}'".format(file), fields="nextPageToken, files(id, name)").execute()
FoundFiles = FileSearch.get('files', [])
if FoundFiles:
FileID = FoundFiles[0]['id']
request = service.files().get_media(fileId=FileID)
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print ("Download %d%%." % int(status.progress() * 100))
else:
output = 'No file found'
我得到的输出是 Download 100%
但就是这样。我到处都找不到这个文件。我想它应该和python文件在同一个目录下,但那里什么都没有。我还以为它可能需要在 fh=io.FileIO(file)
作为指定文件保存位置的方法,但当我这样做时,我得到了一个 "no file exists "的错误,所以我不确定。
按照文档中的例子,你应该可以直接更换
fh = io.BytesIO()
随着
fh = io.FileIO('filename.extension', mode='wb')
io.BytesIO()
是内存中类似文件的对象,不写入磁盘