如何将文件从 colab 或云存储复制到 google 驱动器?

How to copy files from colab or cloud storage to google drive?

我阅读了一些关于这个问题的代码,但我无法理解这些代码。谁能帮我解释一下代码?

# mount your drive
from google.colab import drive
drive.mount('/content/drive')
!gsutil -q -m cp -r gs://my-bucket-name drive /content/drive/My\ Drive/

我想将文件从 colab 或 google 云存储传输到 gdrive。 'drive /content/drive/My\ Drive/' 在代码中代表什么?我应该如何解析这段代码。如果它适用于目录,我应该如何修改这段代码以使其适用于单个文件?

gsutil cp -r 从一个或多个源 files/dirs 递归复制到某个目标目录。例如。要将一个或多个目录复制到另一个目录,您可以这样做:

gsutil cp -r src_folder1/ src_folder2/ dst_folder/

那么,让我们解释一下上面示例中发生的一切:

  • 您首先通过 drive.mount() 使用一些文件系统适配器魔术在 /content/drive.[=39= 的本地目录下挂载 Google 驱动器的内容]
  • 然后你 运行 一个 gsutil 命令。 gsutil 将参数 "drive" 视为应该复制到目录“/content/drive/My Drive/”的另一个源文件(或目录)。如果 file/dir "drive" 不存在,gsutil 会跳过它并抱怨它不存在(但 gsutil 仍会将其他源参数复制到目标,因为 -m使它在遇到问题时继续(在可能的情况下)的标志。

因此,如果您想将名为 "my-object-name" 的对象从您的存储桶复制到您的 Google 驱动器的根目录,命令将如下所示:

!gsutil -q -m cp gs://my-bucket-name/my-object-name /content/drive/My\ Drive/

或者,复制对象并将其命名为不同的名称:

!gsutil -q -m cp gs://my-bucket-name/my-object-name /content/drive/My\ Drive/some-new-name

要了解有关 gsutil、其 top-level 标志及其 cp 命令的更多信息,请查看网络文档:

!cp "colab-path" -r "drive-path"