Bonne nouvelle, PyDrive a un support de première classe sur CoLab ! PyDrive est une enveloppe pour le client python de Google Drive. Voici un exemple de la façon dont vous pouvez télécharger TOUTES d'un dossier, de manière similaire à l'utilisation de glob
+ *
:
!pip install -U -q PyDrive
import os
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
# 1. Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
# choose a local (colab) directory to store the data.
local_download_path = os.path.expanduser('~/data')
try:
os.makedirs(local_download_path)
except: pass
# 2. Auto-iterate using the query syntax
# https://developers.google.com/drive/v2/web/search-parameters
file_list = drive.ListFile(
{'q': "'1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk' in parents"}).GetList()
for f in file_list:
# 3. Create & download by id.
print('title: %s, id: %s' % (f['title'], f['id']))
fname = os.path.join(local_download_path, f['title'])
print('downloading to {}'.format(fname))
f_ = drive.CreateFile({'id': f['id']})
f_.GetContentFile(fname)
with open(fname, 'r') as f:
print(f.read())
Remarquez que les arguments de drive.ListFile
est un dictionnaire qui coïncide avec les paramètres utilisés par API HTTP de Google Drive (vous pouvez personnaliser le q
à adapter à votre cas d'utilisation).
Sachez que dans tous les cas, les fichiers/dossiers sont codés par des identifiants (voir l'onglet 1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk ) sur Google Drive. Pour ce faire, vous devez rechercher dans Google Drive l'identifiant spécifique correspondant au dossier dans lequel vous souhaitez lancer votre recherche.
Par exemple, naviguez vers le dossier "/projects/my_project/my_data"
que se trouve dans votre Google Drive.
![Google Drive]()
Voyez qu'il contient quelques fichiers, dans lesquels nous voulons télécharger à CoLab. Pour obtenir l'id du dossier afin de l'utiliser par PyDrive, regardez l'url et extrayez le paramètre id. Dans ce cas, l'url correspondant au dossier était :
![https://drive.google.com/drive/folders/1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk]()
Où l'id est le dernier élément de l'url : 1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk .
13 votes
Surprenant ! Personne n'a donné de lien vers ce cahier de colab qui décrit toutes les méthodes disponibles en avril 2019 -. colab.research.google.com/notebooks/io.ipynb