Google drive api Google colab和Google drive:将文件从colab复制到Google drive

Google drive api Google colab和Google drive:将文件从colab复制到Google drive,google-drive-api,google-colaboratory,Google Drive Api,Google Colaboratory,似乎有很多方法可以从Colab访问Google Drive上的文件,但没有简单的方法可以将文件从Google Colab保存回Google Drive 例如,要从Colab访问Google驱动器文件,可以使用 from google.colab import drive drive.mount('/content/drive') 但是,要在Google Drive上保存在Colab中生成的输出文件,方法似乎非常复杂,如中所示: 一旦安装了Google Drive,您甚至可以从Colab中查看

似乎有很多方法可以从Colab访问Google Drive上的文件,但没有简单的方法可以将文件从Google Colab保存回Google Drive

例如,要从Colab访问Google驱动器文件,可以使用

from google.colab import drive
drive.mount('/content/drive')
但是,要在Google Drive上保存在Colab中生成的输出文件,方法似乎非常复杂,如中所示:

一旦安装了Google Drive,您甚至可以从Colab中查看目录中的驱动器文件。是否没有简单的方法将在Colab中创建并在Colab目录中可见的文件保存或复制回googledrive

注意:我不想将它保存到本地机器上

from google.colab import files
files.download('example.txt')

由于文件非常大

在安装驱动器后,您可以将其复制到那里

#安装它
从google.colab导入驱动器
安装(“/content/drive”)
#复制到那里
!cp example.txt/content/drive/MyDrive

一旦您看到左侧Colab目录中的文件,只需将该文件拖动到位于同一面板上的“/content/drive/My drive/”目录中即可。一旦文件进入“我的驱动器”,您就可以在Google驱动器中看到它。

您可以使用
shutil
在colab和Google驱动器之间复制/移动文件

import shutil
shutil.copy("/content/file.doc", "/content/gdrive/file.doc")

保存文件时,只需指定用于保存文件的Google驱动器路径

当使用大文件时,Colab有时会异步同步VM和驱动器。要强制同步,只需运行:

from google.colab import drive
drive.flush_and_unmount()

其他答案建议如何复制特定文件,我想提及的是,您还可以复制整个目录,这在将日志从Colab回调复制到驱动器时非常有用:

from google.colab import drive
drive.mount('/content/drive')
在我的例子中,文件夹名称是:

%cp -av "/content/logs/scalars/20201228-215414" "/content/drive/MyDrive/Colab Notebooks/logs/scalars/manual_add"

安装驱动器后

from google.colab import drive
drive.mount('/content/drive')
…只需预先添加完整路径,包括要写入的文件的装入路径(/content/drive)

someList = []
with open('/content/drive/My Drive/data/file.txt', 'w', encoding='utf8') as output:
    for line in someList:
        output.write(line + '\n') 

在本例中,我们将其保存在谷歌硬盘根目录中名为data的文件夹中。

在colab中,它给出了
cp:cannot open'/content/Drive/My Drive/file.gdoc'以读取:操作不受支持
@SantoshGupta7您找到解决方案了吗?我正试图备份我的文件,却遇到了同样的问题。