Я использую PyDrive для загрузки файлов из моего RPi в определенную папку на моем Google Диске. Он успешно работает, но скорость ужасно низкая. Для файла .npy (двоичный файл numpy) размером всего 40 КБ скорость загрузки составляет около 2 секунд. Когда я пытаюсь загрузить другой файл (.pptx) размером 2 МБ, скорость загрузки составляет около 5 секунд. Я также попробовал это на своем Mac, и у него такая же скорость загрузки.
Есть лучший способ сделать это? Мне нужна скорость загрузки менее секунды, так как я собираю данные каждую секунду. Вот код:
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
import os
import time
credentials = '/***/pydrive_credentials.txt'
directory = '/***/remote_dir'
gauth = GoogleAuth()
gauth.LoadCredentialsFile(credentials)
# gauth.LocalWebserverAuth()
drive = GoogleDrive(gauth)
# get id of designated folder in Google Drive
folder = drive.ListFile({'q': "title = 'sample pydrive folder' and trashed=false"}).GetList()[0]
for filename in os.listdir(directory):
f = drive.CreateFile({'title': filename, 'parents': [{'id': folder['id']}]})
# f = drive.CreateFile()
filepath = os.path.join(directory, filename)
f.SetContentFile(filepath)
start = time.time()
f.Upload()
end = time.time()
print(end-start)
# delete file after upload
# os.remove(filepath)
# to ensure no memory leakage
f = None
filepath = None
print("Uploaded: {}".format(filename))