3

我正在运行 Colab,我想将一些非 txt 数据(numpy 数组、PIL 图像、.h5 keras/tensorflow 模型)保存到我的驱动器中。

我可以使用此脚本保存 .txt 文件

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)

# PyDrive reference:
# https://googledrive.github.io/PyDrive/docs/build/html/index.html

# 2. Create & upload a file text file.
uploaded = drive.CreateFile({'title': 'Sample upload.txt'})
uploaded.SetContentString('Sample upload file content')
uploaded.Upload()
print('Uploaded file with ID {}'.format(uploaded.get('id')))

# 3. Load a file by ID and print its contents.
downloaded = drive.CreateFile({'id': uploaded.get('id')})
print('Downloaded content "{}"'.format(downloaded.GetContentString()))

但我不能将它用于其他类型的数据。

任何帮助将不胜感激!

4

2 回答 2

3

pydrive支持上传文件和字符串 - 请参阅文档中的此示例

此外,您还可以在创建文件时设置 MIME 类型,例如

uploaded = drive.CreateFile({'title': 'sample.csv', 'mimeType': 'text/csv'})
于 2018-02-04T04:36:30.423 回答
1

我提出了解决方案:

假设您在 Colab 上生成了一张图片,并希望将其保存到 Google Drive 中的特定文件夹中。

首先保存您的图像,就像您在本地计算机上一样:

from scipy.misc import imsave
imsave('my_image.png', my_image)

这允许您以 my_image.png 的名称“临时”将图像保存在当前工作区中,但是,它尚未保存到您的磁盘中。

您现在应该做的是将其上传到您的 Google Drive。这是如何做到的:

file = drive.CreateFile({'parents':[{u'id': folder_id}]})
file.SetContentFile('my_image.png')
file.Upload()

这会将 my_image.png 永久保存在指定文件夹中(其 id 为 folder_id)

希望这可以帮助。

于 2018-02-08T09:52:13.577 回答