webentwicklung-frage-antwort-db.com.de

Wie lade ich mehrere Dateien oder einen ganzen Ordner von Google Colab herunter?

Derzeit kann ich Dateien als einzelne Dateien mit dem Befehl herunterladen 

files.download(file_name)

Ich habe auch versucht, sie mit dem untenstehenden Code-Snippet auf das Laufwerk hochzuladen, aber sie werden als einzelne Dateien hochgeladen.

uploaded = drive.CreateFile({'title': file_name})
uploaded.SetContentString('Sample upload file content')
uploaded.Upload()
print('Uploaded file with ID {}'.format(uploaded.get('id')))

Wie kann ich mehrere Dateien als Ordner auf meinen lokalen Computer herunterladen? Oder wie kann ich diese Dateien als Ordner auf mein Google-Laufwerk hochladen?

4
tetedp

Ich habe eine Zip-Datei erstellt:

!Zip -r /content/file.Zip /content/Folder_To_Zip

Dann habe ich diese Zip-Datei heruntergeladen:

from google.colab import files
files.download("/content/file.Zip")
2
Shashank Mishra

Ich habe das gefunden:

!Zip -r ./myresultingzippedfolderwithallthefiles.Zip ./myoriginalfolderwithallthefiles/

arbeitete für mich in colab.

Hier . kann Ihr Ausgangsverzeichnis sein oder das Verzeichnis, in dem sich Ihr ursprüngliches myoriginalfolderwithallthefiles befindet und in dem myresultingzippedfolderwithallthefiles.Zip wird erstellt. Ändern Sie die Verzeichnisse nach Bedarf.

1
Ivan

Kopieren Sie diesen Code in eine Zelle, und ändern Sie die beiden Felder Dateiname und Ordner_oder_Dateien_to_save . Es werden alle Ordner oder Dateien in eine ZIP-Datei gepackt und in Ihrem Google-Laufwerk gespeichert

#@title save yo data to drive
filename = "kerasmodel" #@param {type:"string"}
folders_or_files_to_save = "keras_model.h5" #@param {type:"string"}
from google.colab import files
from google.colab import auth
from googleapiclient.http import MediaFileUpload
from googleapiclient.discovery import build

def save_file_to_drive(name, path):
    file_metadata = {
    'name': name,
    'mimeType': 'application/octet-stream'
    }

    media = MediaFileUpload(path, 
                  mimetype='application/octet-stream',
                  resumable=True)

    created = drive_service.files().create(body=file_metadata, media_body=media, fields='id').execute()

    print('File ID: {}'.format(created.get('id')))

    return created


extension_Zip = ".Zip"

Zip_file = filename + extension_Zip

# !rm -rf $Zip_file
!Zip -r $Zip_file {folders_or_files_to_save} # FOLDERS TO SAVE INTO Zip FILE

auth.authenticate_user()
drive_service = build('drive', 'v3')

destination_name = Zip_file
path_to_file = Zip_file
save_file_to_drive(destination_name, path_to_file)
0
skaem

Verwenden Sie tar, um Dateien in einem Verzeichnis in einer einzigen Datei zu gruppieren.

Hier ein Beispiel: Ein Snippet erstellt ein Verzeichnis mit drei Dateien und ein .tar-Archiv, das die Gruppe enthält:

!mkdir demo
!echo a > demo/a
!echo b > demo/b
!echo c > demo/c
!tar -cvf demo.tar demo/

Die herunterzuladende Datei wäre in diesem Fall demo.tar. Weitere Tipps erhalten Sie, wenn Sie Tar-Archive erstellen und erweitern.

0
Bob Smith