Es gab einige GB AI-bezogene Dateien (BERT). Ich möchte herunterladen, was von colab gelernt und lokal in Google Drive oder auf einem Server von Google Drive gespeichert wurde. Ich habe versucht, "Pydrive" zu verwenden, aber es war Moos.
Verwenden Sie "pydrive2" anstelle von "pydrive". Sie können große Dateien herunterladen
Die Download-Datei ist zu groß und moos auf pydrive
. Sie können mit pydrive2 gehen
Es scheint, dass sich die intern verwendete Methode geändert hat
Ich wurde auf github informiert, dass ich pydrive2 für isssue verwenden könnte.
Das Herunterladen von Google Drive ist ein Wegwerfprogramm, mit dem Sie die API ständig aufrufen können, während Sie den Stapelüberlauf beobachten.
Aber ich wollte mehr Spaß mit der Bibliothek haben.
Wenn sich an einem beliebigen Ort ein Download-Programm befindet und Sie die Einstellungsdatei pydrive2 nicht haben möchten, können Sie die folgenden Einstellungen vornehmen
# client_Ort der Geheimnisse
GoogleAuth.DEFAULT_SETTINGS['client_config_file'] = os.path.dirname(os.path.abspath(__file__)) + '/resources/client_secrets.json'
#Einstellungen zum Speichern von Anmeldeinformationen in einer Datei
GoogleAuth.DEFAULT_SETTINGS['save_credentials'] = True
GoogleAuth.DEFAULT_SETTINGS['save_credentials_backend'] = 'file'
#Speicherort der Anmeldeinformationsdatei
GoogleAuth.DEFAULT_SETTINGS['save_credentials_file'] = os.path.dirname(os.path.abspath(__file__)) + '/resources/' + 'saved_credentials.json'
GoogleAuth.DEFAULT_SETTINGS['get_refresh_token'] = True
Verwenden Sie client_secrets überall und speichern Sie die Anmeldeinformationen überall
Ich werde den Code zusammenstellen, den ich irgendwo gesammelt habe
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'
#Einstellungen zum Speichern von Anmeldeinformationen in einer Datei
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'
#Authentifizierungsinformationen(credentials)Einstellungen werden automatisch aktualisiert
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):
#Erstellen, wenn kein Speicherzielordner vorhanden ist
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)
#Bestimmen Sie anhand von mimeType, ob es sich um einen Ordner handelt
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)
das ist alles.