58
задан 22 January 2018 в 11:23

3 ответа

Большинство предыдущих ответов немного (Очень) сложно,

from google.colab import drive
drive.mount("/content/drive", force_remount=True)

я выяснил это, чтобы быть самым легким и самым быстрым способом смонтировать диск Google в CO Lab , можно измениться mount directory location на то, что когда-либо Вы хотите, просто изменив параметр для drive.mount. Это даст Вам ссылку для принятия полномочий с учетной записью, и затем необходимо скопировать, вставляют сгенерированный ключ и затем управляют, будет смонтирован в выделенном контуре.

force_remount используется только, когда необходимо смонтировать диск независимо от ли его загруженное ранее. Можно пропустить это, когда параметр, если Вы не хотите вызывать, монтируется

Редактирование: Проверьте это для нахождения большего количества способов сделать эти IO операции в colab https://colab.research.google.com/notebooks/io.ipynb

13
ответ дан 1 November 2019 в 13:02

Ленивый I’m и моя память плох, таким образом, я решил создать easycolab, который легче запомнить и ввести:

import easycolab as ec
ec.mount()

Удостоверяются, что установили его сначала: !pip install easycolab

mount() метод в основном реализуют это:

from google.colab import drive
drive.mount(‘/content/drive’)
cd ‘/content/gdrive/My Drive/’
4
ответ дан 1 November 2019 в 13:02

Я записал класс, который загружает все данные к '.' местоположению в colab сервере

, Все это можно вытянуть отсюда https://github.com/brianmanderson/Copy-Shared-Google-to-Colab

!pip install PyDrive


from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
import os

class download_data_from_folder(object):
    def __init__(self,path):
        path_id = path[path.find('id=')+3:]
        self.file_list = self.get_files_in_location(path_id)
        self.unwrap_data(self.file_list)
    def get_files_in_location(self,folder_id):
        file_list = drive.ListFile({'q': "'{}' in parents and trashed=false".format(folder_id)}).GetList()
        return file_list
    def unwrap_data(self,file_list,directory='.'):
        for i, file in enumerate(file_list):
            print(str((i + 1) / len(file_list) * 100) + '% done copying')
            if file['mimeType'].find('folder') != -1:
                if not os.path.exists(os.path.join(directory, file['title'])):
                    os.makedirs(os.path.join(directory, file['title']))
                print('Copying folder ' + os.path.join(directory, file['title']))
                self.unwrap_data(self.get_files_in_location(file['id']), os.path.join(directory, file['title']))
            else:
                if not os.path.exists(os.path.join(directory, file['title'])):
                    downloaded = drive.CreateFile({'id': file['id']})
                    downloaded.GetContentFile(os.path.join(directory, file['title']))
        return None
data_path = 'shared_path_location'
download_data_from_folder(data_path)
0
ответ дан 1 November 2019 в 13:02

Другие вопросы по тегам:

Похожие вопросы: