Где Google Drive API хранит загруженные файлы? - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь загрузить файл с Google Диска, используя Python, и я не уверен, где файл хранится.

Следуя приведенному ниже примеру: https://developers.google.com/drive/api/v3/manage-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) как способ указать, где я хочу сохранить файл, но я получаю сообщение об ошибке «файл не существует», поэтому я не уверен.

1 Ответ

2 голосов
/ 25 апреля 2020

Следуя примеру из документов , вы можете просто заменить

fh = io.BytesIO()

на

fh = io.FileIO('filename.extension', mode='wb')

io.BytesIO() в файле памяти -подобный объект и не записывается на диск

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...