Il y avait quelques Go de fichiers liés à l'IA (BERT). Je souhaite télécharger ce qui a été appris par colab et enregistré dans Google Drive localement ou sur un serveur de Google Drive. J'ai essayé d'utiliser «pydrive», mais c'était de la mousse.
Utilisez «pydrive2» au lieu de «pydrive». Vous pouvez télécharger d'énormes fichiers
Le fichier de téléchargement est trop gros et mousse sur pydrive
. Vous pouvez aller avec pydrive2
Il semble que la méthode utilisée en interne ait changé
J'ai été informé sur github que je pouvais utiliser pydrive2 pour isssue.
Le téléchargement à partir de Google Drive est un programme jetable, vous pouvez donc accéder régulièrement à l'API tout en regardant Stack Overflow.
Mais je voulais m'amuser davantage avec la bibliothèque.
Lorsqu'il y a un programme de téléchargement à n'importe quel endroit et que vous ne voulez pas avoir le fichier de configuration pydrive2, vous pouvez accéder aux différents paramètres ci-dessous
# client_Localisation des secrets
GoogleAuth.DEFAULT_SETTINGS['client_config_file'] = os.path.dirname(os.path.abspath(__file__)) + '/resources/client_secrets.json'
#Paramètres pour enregistrer les informations d'identification dans un fichier
GoogleAuth.DEFAULT_SETTINGS['save_credentials'] = True
GoogleAuth.DEFAULT_SETTINGS['save_credentials_backend'] = 'file'
#Où enregistrer le fichier d'informations d'identification
GoogleAuth.DEFAULT_SETTINGS['save_credentials_file'] = os.path.dirname(os.path.abspath(__file__)) + '/resources/' + 'saved_credentials.json'
GoogleAuth.DEFAULT_SETTINGS['get_refresh_token'] = True
Utilisez client_secrets n'importe où et enregistrez les informations d'identification n'importe où
pydrive2
Je vais rassembler le code que j'ai collecté quelque part
import os
from pydrive2.drive import GoogleDrive
from pydrive2.auth import GoogleAuth
GoogleAuth.DEFAULT_SETTINGS['client_config_file'] = os.path.dirname(
os.path.abspath(__file__)) + '/resources/client_secrets.json'
#Paramètres pour enregistrer les informations d'identification dans un fichier
GoogleAuth.DEFAULT_SETTINGS['save_credentials'] = True
GoogleAuth.DEFAULT_SETTINGS['save_credentials_backend'] = 'file'
GoogleAuth.DEFAULT_SETTINGS['save_credentials_file'] = os.path.dirname(
os.path.abspath(__file__)) + '/resources/' + 'saved_credentials.json'
#Informations d'authentification(credentials)Paramètres à mettre à jour automatiquement
GoogleAuth.DEFAULT_SETTINGS['get_refresh_token'] = True
os.chdir(os.path.dirname(os.path.abspath(__file__)))
gauth = GoogleAuth()
gauth.CommandLineAuth()
drive = GoogleDrive(gauth)
def download_recursively(save_folder, drive_folder_id):
#Créer s'il n'y a pas de dossier de destination d'enregistrement
if not os.path.exists(save_folder):
os.makedirs(save_folder)
max_results = 100
query = "'{}' in parents and trashed=false".format(drive_folder_id)
for file_list in drive.ListFile({'q': query, 'maxResults': max_results}):
for file in file_list:
print(file)
#Déterminez s'il s'agit d'un dossier par mimeType
if file['mimeType'] == 'application/vnd.google-apps.folder':
download_recursively(os.path.join(save_folder, file['title']), file['id'])
else:
file.GetContentFile(os.path.join(save_folder, file['title']))
if __name__ == '__main__':
# lang model
drive_folder_id = '1-4dxxxxxx'
save_folder = '../Folder/a'
download_recursively(save_folder, drive_folder_id)
# wiki
drive_folder_id = '19xxxxxxxxxx'
save_folder = '../Folder/b'
download_recursively(save_folder, drive_folder_id)
# label_id
drive_folder_id = '1aVSxxxxxxxx'
save_folder = '../Folder/c'
download_recursively(save_folder, drive_folder_id)
c'est tout.