如何从Google Colab下载多个文件或整个文件夹?

时间:2018-05-21 16:58:32

标签: python-3.x tensorflow google-colaboratory

目前,我可以使用命令

将文件作为单个文件下载
files.download(file_name)

我还尝试使用以下代码段将它们上传到驱动器,但它将它们作为单个文件上传。

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

如何将多个文件作为文件夹下载到本地计算机?或者我如何将这些文件作为文件夹上传到我的谷歌硬盘?

5 个答案:

答案 0 :(得分:8)

我创建了一个zip文件:

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

比我下载了该zip文件还要

from google.colab import files
files.download("/content/file.zip")

答案 1 :(得分:5)

例如,如果您必须下载日志文件夹:

!zip -r log.zip log/

-r 代表递归

log.zip 是目标 zip 文件并且 log/ 是源文件夹路径

enter image description here

答案 2 :(得分:0)

将此代码复制到单元格中,并更改2个字段filename和folders_or_files_to_save。 它会将所有文件夹或文件压缩成zip文件并将其保存在您的Google驱动器中

#@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)

答案 3 :(得分:0)

使用tar将目录中的文件分组到一个文件中。

例如,这是一个创建目录的片段,其中包含3个文件,以及包含该组的.tar存档:

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

在这种情况下,要下载的文件为demo.tar。有关更多提示,请搜索创建和扩展tar存档。

答案 4 :(得分:0)

我发现:

!zip -r ./myresultingzippedfolderwithallthefiles.zip ./myoriginalfolderwithallthefiles/

在colab中为我工作。

这里.可以是您的主目录,也可以是原始myoriginalfolderwithallthefiles所在的目录以及将创建myresultingzippedfolderwithallthefiles.zip的目录。根据需要更改目录。